public static void AddMethodInstantiationElement(string typeName, string methodName, string arguments, DotNetNativePolicy browse = null, DotNetNativePolicy dynamic = null) { DotNetNativeAssistantTypeElement element = FindTypeElement(typeName); if (element == null) { element = new DotNetNativeAssistantTypeElement() { TypeName = typeName }; Elements.Add(element); } else { if (element.IsEmpty) { return; } } DotNetNativeAssistantMethodInstantiationElement methodInstantiation = element.FindMethodInstantiationElement(typeName, arguments); if (methodInstantiation == null) { methodInstantiation = new DotNetNativeAssistantMethodInstantiationElement(element) { MethodName = methodName, Arguments = arguments }; element.MethodInstantiationElements.Add(methodInstantiation); } methodInstantiation.Browse = browse; methodInstantiation.Dynamic = dynamic; }
public static void AddFieldElement(string typeName, string fieldName, DotNetNativeMemberPolicy browse = null, DotNetNativeMemberPolicy dynamic = null, DotNetNativeMemberPolicy serialize = null) { if (!IsEnabled) { return; } DotNetNativeAssistantTypeElement element = FindTypeElement(typeName); if (element == null) { element = new DotNetNativeAssistantTypeElement() { TypeName = typeName }; Elements.Add(element); } else { if (element.IsEmpty) { return; } } DotNetNativeAssistantFieldElement field = element.FindFieldElement(fieldName); if (field == null) { field = new DotNetNativeAssistantFieldElement(element) { FieldName = fieldName }; element.FieldElements.Add(field); } field.Browse = browse; field.Dynamic = dynamic; field.Serialize = serialize; }
public static DotNetNativeAssistantTypeElement AddTypeElement(string typeName, DotNetNativePolicy activate = null, DotNetNativePolicy browse = null, DotNetNativePolicy dynamic = null, DotNetNativePolicy serialize = null, DotNetNativePolicy dataContractSerializer = null, DotNetNativePolicy dataContractJsonSerializer = null, DotNetNativePolicy xmlSerializer = null, DotNetNativePolicy marshalObject = null, DotNetNativePolicy marshalDelegate = null, DotNetNativePolicy marshalStructure = null) { if (!IsEnabled) { return(null); } DotNetNativeAssistantTypeElement typeElement = FindTypeElement(typeName); if (typeElement == null) { typeElement = new DotNetNativeAssistantTypeElement() { TypeName = typeName }; Elements.Add(typeElement); } else { if (!typeElement.IsEmpty) { typeElement.Clear(); } } typeElement.Activate = activate; typeElement.Browse = browse; typeElement.Dynamic = dynamic; typeElement.Serialize = serialize; typeElement.DataContractSerializer = dataContractJsonSerializer; typeElement.DataContractJsonSerializer = dataContractJsonSerializer; typeElement.XmlSerializer = xmlSerializer; typeElement.MarshalObject = marshalObject; typeElement.MarshalDelegate = marshalDelegate; typeElement.MarshalStructure = marshalStructure; return(typeElement); }
public static void AddPropertyElement(string typeName, string propertyName, DotNetNativeMemberPolicy browse = null, DotNetNativeMemberPolicy dynamic = null, DotNetNativeMemberPolicy serialize = null) { if (!IsEnabled) { return; } DotNetNativeAssistantTypeElement element = FindTypeElement(typeName); if (element == null) { element = new DotNetNativeAssistantTypeElement() { TypeName = typeName }; Elements.Add(element); } else { if (element.IsEmpty) { return; } } DotNetNativeAssistantPropertyElement property = element.FindPropertyElement(propertyName); if (property == null) { property = new DotNetNativeAssistantPropertyElement(element) { PropertyName = propertyName }; element.PropertyElements.Add(property); } property.Browse = browse; property.Dynamic = dynamic; property.Serialize = serialize; }