相关疑难解决方法(0)

通过继承扩展枚举

我知道这反对了枚举的想法,但是有可能在C#/ Java中扩展枚举吗?我的意思是"扩展",无论是为枚举添加新值,还是从现有枚举继承的OO意义.

我认为它在Java中是不可能的,因为它最近才得到它们(Java 5?).C#似乎对想要做疯狂事情的​​人更宽容,所以我认为这可能是某种方式.据推测它可以通过反射来破解(不是你每次都使用那种方法)?

我不一定对实现任何给定的方法感兴趣,它只是在我遇到它时激起了我的好奇心:-)

.net c# java

80
推荐指数
4
解决办法
8万
查看次数

正确加载程序集,查找类和调用Run()方法

示例控制台程序.

class Program
{
    static void Main(string[] args)
    {
        // ... code to build dll ... not written yet ...
        Assembly assembly = Assembly.LoadFile(@"C:\dyn.dll");
        // don't know what or how to cast here
        // looking for a better way to do next 3 lines
        IRunnable r = assembly.CreateInstance("TestRunner");
        if (r == null) throw new Exception("broke");
        r.Run();

    }
}
Run Code Online (Sandbox Code Playgroud)

我想动态构建一个程序集(.dll),然后加载程序集,实例化一个类,并调用该类的Run()方法.我应该尝试将TestRunner类转换为某些东西吗?不确定一个程序集中的类型(动态代码)如何知道我的(静态程序集/ shell应用程序)中的类型.使用几行反射代码只在一个对象上调用Run()会更好吗?该代码应该是什么样的?

更新:威廉埃德蒙森 - 见评论

.net c# reflection

79
推荐指数
4
解决办法
17万
查看次数

标签 统计

.net ×2

c# ×2

java ×1

reflection ×1