Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EnsureMethodsImported()

void System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.EnsureMethodsImported ( )
inlinepackage

Definition at line 684 of file ClassDataContract.cs.

685 {
686 if (_isMethodChecked || !(base.UnderlyingType != null))
687 {
688 return;
689 }
690 lock (this)
691 {
693 {
694 return;
695 }
696 Type underlyingType = base.UnderlyingType;
697 MethodInfo[] methods = underlyingType.GetMethods(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
698 foreach (MethodInfo methodInfo in methods)
699 {
700 Type prevAttributeType = null;
701 ParameterInfo[] parameters = methodInfo.GetParameters();
703 {
704 if (methodInfo.Name == "System.Runtime.Serialization.IExtensibleDataObject.set_ExtensionData" || !methodInfo.IsPublic)
705 {
706 _extensionDataSetMethod = XmlFormatGeneratorStatics.ExtensionDataSetExplicitMethodInfo;
707 }
708 else
709 {
711 }
712 }
713 if (IsValidCallback(methodInfo, parameters, Globals.TypeOfOnSerializingAttribute, _onSerializing, ref prevAttributeType))
714 {
716 }
717 if (IsValidCallback(methodInfo, parameters, Globals.TypeOfOnSerializedAttribute, _onSerialized, ref prevAttributeType))
718 {
720 }
721 if (IsValidCallback(methodInfo, parameters, Globals.TypeOfOnDeserializingAttribute, _onDeserializing, ref prevAttributeType))
722 {
724 }
725 if (IsValidCallback(methodInfo, parameters, Globals.TypeOfOnDeserializedAttribute, _onDeserialized, ref prevAttributeType))
726 {
728 }
729 }
731 _isMethodChecked = true;
732 }
733 }
bool IsValidExtensionDataSetMethod(MethodInfo method, ParameterInfo[] parameters)
static bool IsValidCallback(MethodInfo method, ParameterInfo[] parameters, Type attributeType, MethodInfo currentCallback, ref Type prevAttributeType)

References System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper._extensionDataSetMethod, System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper._isMethodChecked, System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper._onDeserialized, System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper._onDeserializing, System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper._onSerialized, System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper._onSerializing, System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.XmlFormatGeneratorStatics.ExtensionDataSetExplicitMethodInfo, System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.HasExtensionData, System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.IsValidCallback(), System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.IsValidExtensionDataSetMethod(), System.Threading.Interlocked.MemoryBarrier(), System.Runtime.Serialization.Globals.TypeOfOnDeserializedAttribute, System.Runtime.Serialization.Globals.TypeOfOnDeserializingAttribute, System.Runtime.Serialization.Globals.TypeOfOnSerializedAttribute, and System.Runtime.Serialization.Globals.TypeOfOnSerializingAttribute.

Referenced by System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.ClassDataContractCriticalHelper(), System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.ClassDataContractCriticalHelper(), and System.Runtime.Serialization.ClassDataContract.EnsureMethodsImported().