我期待创建扩展类,将实体框架实体扩展到EF实体。我也想在扩展方法类(使用T4)中编写一些附加/泛型方法,然后有能力使用其他自定义方法创建部分扩展方法类。这可能吗。C#:是否有可能有部分扩展类
1
A
回答
3
你不需要它们。只需写另一个扩展类。
namespace Namespace1
{
public static class MyEntityBlibblingExtensions
{
public void Blibble(this MyEntity self)
{
// ...
}
}
}
然后,在别处......
namespace Namespace2
{
public static class MyEntityFurtlingExtensions
{
public void Furtle(this MyEntity self)
{
// ...
}
}
}
任何进口Namespace1
会看到扩展方法Blibble()
而任何进口Namespace2
会看到Furtle()
,和进口都将看到这两个。它们可以位于不同的程序集或任何导入MyEntity
命名空间的位置。所以,部分扩展并不是一个真正有效的概念。实际上,将扩展方法放在类中的想法有点像黑客一样 - 他们不能屈服于C#的规则,以使扩展方法能够在类之外生存。
2
2
我在这里可以看到的主要问题是短语“在不同的集会”。如果不是这样的话,你可以添加你的方法等在一个额外partial class
与常规实例方法,这一切都会好起来的。
您可以具有静态部分类,但是不能使用部分类添加到另一个部件中的类型。扩展方法可以从部分类正常工作,但请注意,部分类纯粹是用于在不同文件之间分割代码的机制。你可以像扩展方法一样容易地拥有多个静态类。
相关问题
- 1. 是否有可能扩展一个库类扩展MY_Controller类
- 2. 是否有可能知道一个类是否被扩展方法扩展?
- 3. 是否有可能具有部分类的部分xaml?
- 4. 是否有可能在PHP扩展中有多个类?
- 5. C# - 是否有可能扩展一个新的接口现有的内置类
- 6. 是否有可能在本地扩展chrome扩展中的css?
- 7. 是否有可能将CSS列扩展到其父项底部
- 8. 是否有可能评估类接口是否扩展某个基类?
- 9. 是否有可能在c#中创建扩展字段?
- 10. 是否有可能在ruby C扩展中使用rb_cIPSocket
- 11. 是否有可能让CSS类互相扩展?
- 12. 是否有可能在ExpressionEngine 2中扩展类别
- 13. 是否有可能扩展超过一个抽象类?
- 14. 是否有可能获得扩展类加载器对象?
- 15. C++的value_type是否可以从iterator_traits扩展到所有类型?
- 16. 是否可以扩展类
- 17. 是否有可能从部分类型生成严格类型?
- 18. LESS是否具有“扩展”功能?
- 19. C++中是否有扩展套接字?
- 20. 是否有类似于SMS的扩展?
- 21. 是否可以扩展现有的TypeConverter?
- 22. 是否有可能扩展一个具有相同名称的Java类
- 23. 是否有可能在Java中扩展迭代器的功能?
- 24. 是否有可能#include在C++类中?
- 25. 是否有可能在page扩展的chrome扩展中设置BadgeText?
- 26. 是否有可能?(C++)
- 27. 是否有可能在C#中“继承部分结构”?
- 28. 是否有可能使用MSTest从C++ dll测试“内部”类?
- 29. 是否有可能在C#定义一个局部通用类
- 30. Subversion是否具有类似于“hg record”的功能/扩展?
你试过了什么?我不清楚你想要做什么,但是多个扩展类可以扩展相同的原始类,如果这就是你所要求的? –