抛出异常而不引用其主机程序集?

时间:2011-01-22 15:57:43

标签: .net exception reference

我有一个程序集,它是系统A的插件(它实现了IASystemPlugin接口)。系统A是系统B的一个组件。我想从插件向系统B级别抛出异常。不幸的是,系统A和B都处理所有已知异常并重新抛出所有未知异常,因此我必须抛出B.SystemBException实例。

作为一个系统A客户端,我没有引用B类,如果不这样做会更好(所有引用,除了系统引用,都应该在A级注册,这意味着要注册30个以上的B程序集)。在这种情况下,我能够实例化非常简单的B.SystemBException类吗?

任何黑客攻击方法都将受到赞赏。

此致

1 个答案:

答案 0 :(得分:1)

我猜您可以通过Reflection找到该类并创建它的实例。但是,你确定要这样做吗?我假设系统接口是为了容纳这样的内容而构建的?

无论如何,我假设您有权访问该类,因为您正被另一个程序集加载。请参阅此内容以启动它:http://www.codeproject.com/KB/dotnet/Reflection.aspx

如果您需要更多详细信息,请与我们联系。