我希望能在运行时执行以下等效操作:
人们似乎忽略了一个关键点,我正在尝试创建一个 Action 实例,其中 T 无法静态指定,因为它是从 Attribute 派生的类中使用的 - 这意味着 T 可以是任何类型,不能定义为泛型。祝好!
var action = new Action<ANYTHING AT RUNTIME>(obj => Console.WriteLine("Called = " + obj));
我知道需要为 Action 获取正确的类型,但不确定如何使用 Delegate.Create 获取最后一位。 Type
表示 Action 定义中的 T。
var actionType = typeof(Action<>).MakeGenericType(Type);
var constructor = actionType.GetConstructors()[0];
var @delegate = Delegate.CreateDelegate(actionType, <WHAT GOES HERE>);
人们似乎忽略了一个关键点,我正在尝试创建一个 Action 实例,其中 T 无法静态指定,因为它是从 Attribute 派生的类中使用的 - 这意味着 T 可以是任何类型,不能定义为泛型。祝好!
action = new Action<int>(obj => Console.WriteLine("Called = " + obj));
的哪一部分? - Mark