有可能拥有一个适用于其他项目的扩展类吗

本文关键字:扩展 项目 其他 拥有 有一个 适用于 有可能 | 更新日期: 2023-09-27 18:01:12

C#中,当我们编写扩展类时,它使用this关键字来表示此扩展方法适用于此命名空间的对象。

现在,如果我想写一个扩展类,它也适用于其他项目,该怎么办?例如,假设我的Controls项目有这个类,而我的Main引用ControlsProject的项目想要调用扩展方法,这可能吗?或者我也应该重写Main项目中的类?

有可能拥有一个适用于其他项目的扩展类吗

不要重复这些方法;你想要什么是完全可能的。如果您的类及其扩展都在Controls项目中声明,则可以访问Main中的扩展方法。您只需要记住添加一个using语句,以包括声明扩展方法的命名空间。

这是绝对可能的
我想您错过了适当的using语句,因为Visual Studio没有提供任何指导。

我倾向于将扩展放入与我正在扩展的类型相同的命名空间中,因此如果使用类型命名空间,则扩展也是可见的
例如,String的扩展位于System命名空间中,而不是MyApp.Something.Extensions
如果其他开发人员应该使用它们,这尤其有用,因为他们可能永远不知道它们的存在。