在C#(VS-2010)中,如果使用某个库类,有没有办法使前端构建失败?(通常它会编译得很好吗?)

Isa*_*ger 3 c# visual-studio-2010

我正在编写一个包含多个类的库,这些类旨在供多个前端使用(一些前端共享相同的类).对于每个前端,我保留一个手工编辑的列表,其中包含(使用特定命名空间)的类.如果前端尝试使用不在此列表中的类,则会出现运行时错误.我的目标是将这些错误转移到编译时.

如果你们中的任何一个好奇,这些都是"映射"的nhibernate类.我试图限制哪个前端可以使用什么,以便减少旋转时间,并且只是为了我自己的理智.最终会有数百个这样的东西,如果有一个列表告诉我哪些前端使用了我被迫维护的内容,那将会非常好.我似乎无法摆脱每个前端使用子类,我不能使用任何包装类...只是把它作为给定的请!

理想情况下,如果有人敢于尝试使用它们,我希望visual studio强调红色违规类,在错误窗口中有一个很好的自定义错误.我也希望他们从intellisense窗口中消失.是否可以自定义项目来执行这些操作?

我也愿意使用预构建程序来分析这些类型的代码,尽管这不会那么好.有谁知道这样做的工具?

谢谢

艾萨克

jas*_*son 7

假设你有一组课程F.您希望这些类仅对某个程序集可见A.然后,将这些类隔离F到一个单独的程序internal集中,并将它们标记为,并将该InternalsVisibleTo程序集的on 设置为true,以用于此特定程序集A.

如果您尝试A'从未InternalsVisibleTo包含在程序集中的F任何程序F集中使用这些类,那么如果您尝试使用其中的任何类,则会出现编译时错误A'.

我也希望他们从intellisense窗口中消失.是否可以自定义项目来执行这些操作?

这也发生在我上面提到的解决方案中.它们在组件内部,包含F任何A'未标记为InternalsVisibleTo包含组件的组件,并且不可见F.

但是,我通常发现这InternalsVisibleTo是一种代码气味(并非总是如此).