当迭代一组程序集(例如AppDomain.CurrentDomain.GetAssemblies())时,如果您尝试访问CodeBase等属性,动态程序集将抛出NotSuportedException.如何在不触发和捕获NotSupportedException的情况下判断程序集是否是动态的?
我在类中有多个方法实例,我需要快速调用和编写它们,而无需将它们添加到我的主函数中。这将如何用属性完成?
例如,我有很多不同的类,它们有一个名为“invoke”的方法。我想添加一个自定义属性,我可以将其添加到此方法中,然后在称为“全部调用”的不同方法中对每个类调用 invoke 方法。
类似的东西看起来像这样,但功能强大。
public class main_class
{
public void invoke_all()
{
// call all the invokes
}
}
public class test1
{
[invoke]
public void invoke()
{
Console.WriteLine("test1 invoked");
}
}
public class test2
{
[invoke]
public void invoke()
{
Console.WriteLine("test2 invoked");
}
}
Run Code Online (Sandbox Code Playgroud)