internal string GetStringForCreateInstance(string type, string cast, bool nonPublic, string arg)
{
StringBuilder createInstance = new StringBuilder();
if (cast != null && cast.Length > 0)
{
createInstance.Append("(");
createInstance.Append(cast);
createInstance.Append(")");
}
createInstance.Append(typeof(Activator).FullName);
createInstance.Append(".CreateInstance(");
createInstance.Append(type);
createInstance.Append(", ");
string bindingFlags = typeof(BindingFlags).FullName;
createInstance.Append(bindingFlags);
createInstance.Append(".Instance | ");
createInstance.Append(bindingFlags);
createInstance.Append(".Public | ");
createInstance.Append(bindingFlags);
createInstance.Append(".CreateInstance");
if (nonPublic)
{
createInstance.Append(" | ");
createInstance.Append(bindingFlags);
createInstance.Append(".NonPublic");
}
if (arg == null || arg.Length == 0)
{
createInstance.Append(", null, new object[0], null)");
}
else
{
createInstance.Append(", null, new object[] { ");
createInstance.Append(arg);
createInstance.Append(" }, null)");
}
return createInstance.ToString();
}