我正在尝试使用CoreCLR动态调用特定类型的成员,但是当针对DNXCORE50进行编译时,类型Type.InvokeMember方法不可用。但是,如果我针对DNX451进行编译,则效果很好。

以下是使用DNX451如何实现此目的的示例,但是如何在DNXCORE50中执行相同的操作?

using System;
using System.Reflection;

namespace InvokeMember
{
    public class Program
    {
        public void Main(string[] args)
        {
            typeof (Program).InvokeMember("DoStuff", BindingFlags.InvokeMethod, null, new Program(), null);
        }

        public void DoStuff()
        {
            Console.WriteLine("Doing stuff");
        }
    }

}

最佳答案

使用此代码,它可以工作:

        MethodInfo method = typeof(Program).GetTypeInfo().GetDeclaredMethod("DoStuff");
        method.Invoke(new Program(), null);

关于c# - CoreCLR中的Type.InvokeMember(..),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33783828/

10-13 03:15