Как ссылаться на статический класс из DLL во время выполнения - PullRequest
0 голосов
/ 01 февраля 2019

Я использую xsltc.exe создать A.dll из A.xslt.Затем создайте референцию A.dll в моем проекте и выполните преобразование:

XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(typeof(A)); // A is a public static class from A.dll
xslt.Transform(RootPath + "A.xml", RootPath + "A.txt");

, но как я могу повторно указать A.dll во время выполнения и выполнить преобразование?

1 Ответ

0 голосов
/ 01 февраля 2019

Если я правильно понимаю, вы хотите генерировать и ссылаться на DLL все во время выполнения.Хорошей новостью является то, что вы можете загрузить сборку во время выполнения, используя Assembly.LoadFrom.

. Ниже взята документация , а метод называется Reflection.

Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom("c:\\A.dll");
// Obtain a reference to a method known to exist in assembly.
var aTypes = SampleAssembly.GetTypes();
MethodInfo Method = aTypes[0].GetMethod("Method1");
// Obtain a reference to the parameters collection of the MethodInfo instance.
ParameterInfo[] Params = Method.GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System.String
//   Position = 0
//   Optional=False
foreach (ParameterInfo Param in Params)
{
    Console.WriteLine("Param=" + Param.Name.ToString());
    Console.WriteLine("  Type=" + Param.ParameterType.ToString());
    Console.WriteLine("  Position=" + Param.Position.ToString());
    Console.WriteLine("  Optional=" + Param.IsOptional.ToString());
}
...