我目前正在使用Activator.CreateInstance创建其类型作为泛型参数传入的类的实例。问题是,这非常慢。我在某处读到我可以使用预编译的 lambda 表达式做同样的事情,但是,由于需要将参数传递给正在创建的类的实例,因此在我的情况下我无法实现这一点。
目前我正在做以下事情
public class Class1
{
private int TestVariable;
public Class1(int testVariable)
{
TestVariable = testVariable;
}
public void TestMethod()
{
Console.WriteLine($"Test Variable was {TestVariable}");
}
}
public object Test<T>(params object[] parameters)
{
var instance = (T) Activator.CreateInstance(typeof(T), BindingFlags.Instance, null, new object[] {9999}, null);
var testMethod = typeof(T).GetMethod("TestMethod", BindingFlags.Instance);
return testMethod.Invoke(instance, parameters)
}
如何使用预编译的 lambda 表达式完成类似的操作?
蛊毒传说
相关分类