37 int num =
string.CompareOrdinal(x.
ns, y.
ns);
172 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
289 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
387 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
436 if (flag &&
type.IsValueType)
448 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
492 if (
getMethod.GetParameters().Length != 0)
579 if (
base.IsReference)
606 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
645 for (; i <
list.Count - 1 &&
string.CompareOrdinal(
list[i].member.
Name,
list[i + 1].member.Name) == 0 &&
string.CompareOrdinal(
list[i].ns,
list[i + 1].ns) == 0; i++)
647 list[i].member.ConflictingMember =
list[i + 1].member;
650 flag =
list[i + 1].member.HasConflictingNameAndType ||
list[i].member.MemberType !=
list[i + 1].member.MemberType;
655 for (
int j =
num3;
j <= i;
j++)
657 list[
j].member.HasConflictingNameAndType =
true;
664 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
704 if (
methodInfo.Name ==
"System.Runtime.Serialization.IExtensibleDataObject.set_ExtensionData" || !
methodInfo.IsPublic)
737 if (
method.Name ==
"System.Runtime.Serialization.IExtensibleDataObject.set_ExtensionData" ||
method.Name ==
"set_ExtensionData")
768 else if (
method.IsVirtual)
789 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
834 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
875 return string.CompareOrdinal(x.
Name, y.
Name);
900 "System.Collections.Generic.KeyValuePair`2",
901 Array.Empty<
string>()
904 "System.Collections.Generic.Queue`1",
905 new string[1] {
"_syncRoot" }
908 "System.Collections.Generic.Stack`1",
909 new string[1] {
"_syncRoot" }
912 "System.Collections.ObjectModel.ReadOnlyCollection`1",
913 new string[1] {
"_syncRoot" }
916 "System.Collections.ObjectModel.ReadOnlyDictionary`2",
917 new string[3] {
"_syncRoot",
"_keys",
"_values" }
921 Array.Empty<
string>()
925 Array.Empty<
string>()
929 Array.Empty<
string>()
933 Array.Empty<
string>()
937 Array.Empty<
string>()
941 Array.Empty<
string>()
945 Array.Empty<
string>()
949 Array.Empty<
string>()
952 "System.Collections.Queue",
953 new string[1] {
"_syncRoot" }
956 "System.Collections.Stack",
957 new string[1] {
"_syncRoot" }
960 "System.Globalization.CultureInfo",
961 Array.Empty<
string>()
965 Array.Empty<
string>()
975 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1014 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1081 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1105 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1148 return base.UnderlyingType;
1152 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1159 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1209 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1215 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1221 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1245 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1252 if (@
namespace.Length > 0 && @
namespace !=
dataContract.Namespace.Value)
1279 if (
type.IsGenericParameter)
1307 if (
type.IsSerializable)
1319 if (
type.IsValueType)
1332 if (!
type.IsGenericType ||
type.IsGenericParameter)
1334 return type.FullName;
1336 return type.GetGenericTypeDefinition().FullName;
1355 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1367 int num = ((
array !=
null) ?
array.Length : 0);
1386 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1396 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1456 if (!
Members[i].RequiresMemberAccessForSet())
1509 if (!
Members[i].RequiresMemberAccessForGet())
1527 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
1541 [
RequiresUnreferencedCode(
"Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
static unsafe void Copy(Array sourceArray, Array destinationArray, int length)
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
void Add(TKey key, TValue value)
virtual Type ParameterType
virtual ? MethodInfo GetMethod
virtual ? MethodInfo SetMethod
static DataMemberConflictComparer Singleton
int Compare(Member x, Member y)
XmlDictionaryString[] _childElementNamespaces
bool SetIfGetOnlyCollection(DataMember memberContract)
static bool IsMethodOverriding(MethodInfo method)
MethodInfo _extensionDataSetMethod
void EnsureMethodsImported()
void SetIsNonAttributedType([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors|DynamicallyAccessedMemberTypes.Interfaces)] Type type)
ClassDataContract _baseContract
bool _isKeyValuePairAdapter
Dictionary< XmlQualifiedName, DataContract > _knownDataContracts
override bool IsISerializable
ConstructorInfo GetISerializableConstructor()
ConstructorInfo KeyValuePairAdapterConstructorInfo
static readonly MethodInfo s_getKeyValuePairMethod
ClassDataContractCriticalHelper([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors|DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.NonPublicMethods|DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicProperties)] Type type, XmlDictionaryString ns, string[] memberNames)
void SetIfMembersHaveConflict(List< DataMember > members)
void SetKeyValuePairAdapterFlags([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors|DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.NonPublicMethods|DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicProperties)] Type type)
MethodInfo OnDeserializing
bool IsKeyValuePairAdapter
XmlFormatClassReaderDelegate XmlFormatReaderDelegate
XmlFormatClassWriterDelegate XmlFormatWriterDelegate
ConstructorInfo GetNonAttributedTypeConstructor()
bool IsValidExtensionDataSetMethod(MethodInfo method, ParameterInfo[] parameters)
MethodInfo _getKeyValuePairMethodInfo
static bool IsValidCallback(MethodInfo method, ParameterInfo[] parameters, Type attributeType, MethodInfo currentCallback, ref Type prevAttributeType)
void EnsureIsReferenceImported(Type type)
List< DataMember > _members
MethodInfo GetKeyValuePairMethodInfo
override Dictionary< XmlQualifiedName, DataContract > KnownDataContracts
readonly bool _isScriptObject
static Type[] SerInfoCtorArgs
ClassDataContractCriticalHelper([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors|DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.NonPublicMethods|DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicProperties)] Type type)
MethodInfo _onDeserializing
Type[] _keyValuePairGenericArguments
XmlDictionaryString[] MemberNames
static Type[] s_serInfoCtorArgs
bool _isNonAttributedType
bool _isKnownTypeAttributeChecked
XmlFormatClassWriterDelegate _xmlFormatWriterDelegate
XmlDictionaryString[] ContractNamespaces
MethodInfo _onSerializing
MethodInfo ExtensionDataSetMethod
XmlDictionaryString[] ChildElementNamespaces
ConstructorInfo _keyValuePairCtorInfo
Type[] KeyValuePairGenericArguments
ClassDataContractCriticalHelper Clone()
XmlDictionaryString[] MemberNamespaces
static readonly ConstructorInfo s_ctorGenericMethod
XmlQualifiedName GetStableNameAndSetHasDataContract(Type type)
ClassDataContract BaseContract
static bool CanSerializeMember(FieldInfo field)
MethodInfo _onDeserialized
MethodInfo OnDeserialized
List< DataMember > Members
XmlFormatClassReaderDelegate _xmlFormatReaderDelegate
static DataMemberComparer Singleton
int Compare(DataMember x, DataMember y)
ConstructorInfo _nonAttributedTypeConstructor
XmlDictionaryString[] ContractNamespaces
XmlFormatClassWriterDelegate CreateXmlFormatWriterDelegate()
XmlFormatClassReaderDelegate XmlFormatReaderDelegate
XmlDictionaryString[] ChildElementNamespaces
static readonly Dictionary< string, string[]> s_knownSerializableTypeInfos
bool IsKeyValuePairAdapter
XmlDictionaryString[] CreateChildElementNamespaces()
ClassDataContract BaseContract
override object ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)
MethodInfo ExtensionDataSetMethod
ClassDataContractCriticalHelper _helper
ClassDataContract Clone()
static void CheckAndAddMember(List< DataMember > members, DataMember memberContract, Dictionary< string, DataMember > memberNamesTable)
Func< object > _makeNewInstance
bool CreateNewInstanceViaDefaultConstructor([NotNullWhen(true)] out object obj)
List< DataMember > Members
static bool IsArraySegment(Type t)
Func< object > MakeNewInstance
static bool IsKnownSerializableType(Type type)
bool RequiresMemberAccessForWrite(SecurityException securityException)
static XmlDictionaryString GetChildNamespaceToDeclare(DataContract dataContract, Type childType, XmlDictionary dictionary)
const DynamicallyAccessedMemberTypes DataContractPreserveMemberTypes
XmlFormatClassReaderDelegate CreateXmlFormatReaderDelegate()
ConstructorInfo GetNonAttributedTypeConstructor()
XmlDictionaryString[] MemberNames
static bool IsNonSerializedMember(Type type, string memberName)
bool RequiresMemberAccessForRead(SecurityException securityException)
XmlDictionaryString[] _childElementNamespaces
void InitClassDataContract()
ClassDataContract(Type type, XmlDictionaryString ns, string[] memberNames)
MethodInfo OnDeserialized
Type[] KeyValuePairGenericArguments
ConstructorInfo KeyValuePairAdapterConstructorInfo
override Dictionary< XmlQualifiedName, DataContract > KnownDataContracts
static bool IsNonAttributedTypeValidForSerialization([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors|DynamicallyAccessedMemberTypes.Interfaces)] Type type)
XmlFormatClassWriterDelegate XmlFormatWriterDelegate
MethodInfo OnDeserializing
static ClassDataContract CreateClassDataContractForKeyValue(Type type, XmlDictionaryString ns, string[] memberNames)
override bool IsISerializable
static string GetGeneralTypeName(Type type)
void UpdateNamespaceAndMembers(Type type, XmlDictionaryString ns, string[] memberNames)
void EnsureMethodsImported()
ConstructorInfo GetISerializableConstructor()
MethodInfo GetKeyValuePairMethodInfo
XmlDictionaryString[] MemberNamespaces
ClassDataContract(Type type)
override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context)
static bool IsCollectionInterface(Type type)
static bool IsCollection(Type type)
virtual XmlDictionaryString TopLevelElementName
void SetDataContractName(XmlQualifiedName stableName)
virtual XmlDictionaryString TopLevelElementNamespace
static void ThrowInvalidDataContractException(string message, Type type)
static string EncodeLocalName(string localName)
static Dictionary< XmlQualifiedName, DataContract > ImportKnownTypeAttributes(Type type)
static DataContract GetBuiltInDataContract(Type type)
static bool IsTypeNullable(Type type)
XmlQualifiedName StableName
static string GetClrTypeFullName(Type type)
static bool ConstructorRequiresMemberAccess(ConstructorInfo ctor)
static bool IsTypeVisible(Type t)
static DataContract GetDataContract(Type type)
static bool MethodRequiresMemberAccess(MethodInfo method)
virtual XmlDictionaryString Namespace
static XmlQualifiedName GetStableName(Type type)
static bool TryGetDCAttribute(Type type, [NotNullWhen(true)] out DataContractAttribute dataContractAttribute)
static Type UnwrapNullableType(Type type)
static void ThrowInvalidDataContractException(string message, Type type)
static DataContract GetDataContractFromGeneratedAssembly(Type type)
static Exception ThrowHelperError(Exception e)
static Func< object > GetMakeNewInstanceFunc([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type type)
static Type TypeOfOptionalFieldAttribute
static Type TypeOfKeyValuePair
static Type TypeOfOnDeserializedAttribute
static bool TypeOfScriptObject_IsAssignableFrom(Type type)
static Type TypeOfISerializable
static Type TypeOfStreamingContext
static Type TypeOfOnSerializedAttribute
static Type TypeOfDataContractAttribute
static Type TypeOfOnDeserializingAttribute
static Type TypeOfValueType
static Type TypeOfIXmlSerializable
static Type TypeOfCollectionDataContractAttribute
static Type TypeOfIExtensibleDataObject
static Type TypeOfKeyValuePairAdapter
static Type TypeOfOnSerializingAttribute
static Type TypeOfExtensionDataObject
static SerializationException CreateSerializationException(string errorMessage)
static string NonAttributedSerializableTypesMustHaveDefaultConstructor
static string PartialTrustDataContractFieldGetNotPublic
static string DuplicateExtensionDataSetMethod
static string TooManyDataMembers
static string InvalidDataMemberName
static string ValueTypeCannotHaveIsReference
static string PartialTrustDataContractPropertyGetNotPublic
static string CallbackMustReturnVoid
static string DupEnumMemberValue
static string DupMemberName
static string PartialTrustDataContractOnSerializingNotPublic
static string NoGetMethodForProperty
static string ExtensionDataSetMustReturnVoid
static string CallbacksCannotBeVirtualMethods
static string DuplicateAttribute
static string PartialTrustDataContractTypeNotPublic
static string Format(string resourceFormat, object p1)
static string DuplicateCallback
static string IsRequiredDataMemberOnIsReferenceDataContractType
static string PartialTrustDataContractFieldSetNotPublic
static string NoSetMethodForProperty
static string PartialTrustDataContractOnDeserializingNotPublic
static string PartialTrustNonAttributedSerializableTypeNoPublicConstructor
static string PartialTrustDataContractOnDeserializedNotPublic
static string PartialTrustDataContractPropertySetNotPublic
static string InconsistentIsReference
static string ExtensionDataSetParameterInvalid
static string CallbackParameterInvalid
static string ISerializableCannotHaveDataContract
static string TooManyIgnoreDataMemberAttributes
static string InvalidMember
static string AttributedTypesCannotInheritFromNonAttributedSerializableTypes
static string OnlyDataContractTypesCanHaveExtensionData
static string NonOptionalFieldMemberOnIsReferenceSerializableType
static string SerializationInfo_ConstructorNotFound
static string ValueTypeCannotHaveBaseType
static string UnexpectedContractType
static string IndexedPropertyCannotBeSerialized
static string PartialTrustDataContractOnSerializedNotPublic
static void MemoryBarrier()
virtual Type[] GetGenericArguments()
virtual bool IsGenericType
static readonly Type[] EmptyTypes
virtual Type GetGenericTypeDefinition()
DynamicallyAccessedMemberTypes
Member(DataMember member, string ns, int baseTypeIndex)