相关疑难解决方法(0)

如何动态调用c#中的函数

我有方法:

  add(int x,int y)
Run Code Online (Sandbox Code Playgroud)

我也有:

int a=5;
int b=6;
string s="add";
Run Code Online (Sandbox Code Playgroud)

是否可以使用字符串s调用add(a,b)?我怎么能在c#中做到这一点?

c#

28
推荐指数
4
解决办法
5万
查看次数

如何查找C#类的内部属性?保护?保护内部?

如果我有一个C#类MyClass如下:

using System.Diagnostics;

namespace ConsoleApplication1
{
    class MyClass
    {
        public int pPublic {get;set;}
        private int pPrivate {get;set;}
        internal int pInternal {get;set;}
    }
    class Program
    {
        static void Main(string[] args)
        {
            Debug.Assert(typeof(MyClass).GetProperties(
                System.Reflection.BindingFlags.Public |
                System.Reflection.BindingFlags.Instance).Length == 1);
            Debug.Assert(typeof(MyClass).GetProperties(
                System.Reflection.BindingFlags.NonPublic |
                System.Reflection.BindingFlags.Instance).Length == 2);
            // internal?
            // protected?
            // protected internal?
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面编译的代码是没有任何断言失败的运行.NonPublic返回内部和私有属性.BindingFlags上的其他辅助功能类型似乎没有标志.

如何获取仅包含内部属性的列表/数组?在相关的说明中,但对我的应用程序来说不是必需的,那么受保护或受保护的内部呢?

c# system.reflection

10
推荐指数
2
解决办法
4558
查看次数

标签 统计

c# ×2

system.reflection ×1