|
1
5
嗯,是的!为了进行编译,它需要能够解析公共/受保护API中的所有内容。否则它无法强制执行约束。我想它需要识别类型,以确定扩展方法是否是方法的候选方法。 您可以尝试将扩展方法放置在包含“Web”的子命名空间中,至少这样它不会溢出到常规代码中。 我查过了 ,这就解决了问题。分离扩展方法的名称空间是一种很好的做法,以允许调用方控制它们何时应该在范围内。 为了执行,它还需要能够解决内部使用的任何问题,但 不 暴露在API中。这是标准行为。 |
|
|
2
1
@马克告诉你为什么。我建议,作为一种良好的实践,您可以将任何引用web类的内容分解到另一个程序集中,例如Com.Company.Extensions.web,以及Com.Company.Extensions。然后,您可以在web项目中同时包含这两个扩展,并且在其他项目中仅包含非web扩展。 |