public static void AddTypeElement(Type genericType, Type[] genericTypeParameters, 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; } AddTypeElement(GetGenericTypeName(genericType, genericTypeParameters), activate, browse, dynamic, serialize, dataContractSerializer, dataContractJsonSerializer, xmlSerializer, marshalObject, marshalDelegate, marshalStructure); }
private void WritePolicy(TextWriter stream, string policyName, DotNetNativePolicy policyValue) { if (policyValue != null) { stream.Write(" "); stream.Write(policyName); stream.Write("=\""); string textValue = policyValue.ToString(); if (textValue.StartsWith("Required") && textValue.Length != 8) { textValue = textValue.Insert(8, " "); } stream.Write(textValue); stream.Write("\""); } }
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 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 AddMethodInstantiationElement(Type type, string genericMethodName, Type[] typeArguments, DotNetNativePolicy browse = null, DotNetNativePolicy dynamic = null) { if (!IsEnabled) { return; } string typeName = FixTypeName(type.FullName); StringBuilder builder = new StringBuilder(); ConcatGenericArguments(typeArguments, builder); string arguments = builder.ToString(); AddMethodInstantiationElement(typeName, genericMethodName, arguments, browse, dynamic); }