我知道它可以让Visual Studio从UI事件等中分离出WinForms UI代码,但是它有任何实际用途吗?C#中部分关键字的实际用法
回答
部分关键字通常用于代码生成实用程序中,以允许开发人员向生成的代码添加其他功能,而不用担心如果代码再次生成时该代码被擦除。
使用C#3,可以将partial关键字应用于方法,以允许生成的代码的用户填充生成器留下的空白。例如,Linq To Sql设计器提供了部分方法,允许您将逻辑添加到框架在实现时调用的类中。这样做的好处是,C#编译器将完全删除未实现的部分方法,因此没有执行它们,因此在所有上都没有性能。
部分类也可以用于将非常大的类组织成单独的代码文件,虽然这种用法通常表明您的类太大并且承担了太多的责任。
我用它来分区助手类,其中一些方法需要大量的代码。这是保持可读性的一种简单方法,因为每个文件只处理类的一部分功能。
LINQ to SQL设计器广泛使用它来分割映射类之外的自定义行为(部分方法)。
简而言之,它的主要用途是代码生成器。
希望这会有所帮助。
在VB中,您可以使用它将“正常”代码与需要通过“Option Strict Off”进行后期绑定的代码分开。
在C#中,我只将它用于非常大的类。
我能想到的partial关键字的最佳用法是嵌套类。如果没有partial关键字,则所有嵌套类必须与包含类位于相同的代码文件中。
我一直使用Linq2Sql的部分类和方法。否则,除了UI /代码隐藏类以外,我从未使用过它。
我喜欢关于linq2sql中的部分类的好处之一是,您可以让部分类继承一个接口,并将接口映射到生成的类。如果您拥有多个数据提供者并且仍然希望为所有数据访问类使用相同的接口,那么这非常棒。
我发现的一种用法是,您可能不希望存在于生产代码中的代码,例如跟踪或开发日志代码。你可以把它放在分部类中,然后当你做一个生产构建时,你只需构建没有包含这些分部的东西,编译器就会自动地魔术般去掉对那些被排除的部分的调用。
部分方法可能对那个特定的用例更好。 – JasonTrue 2009-03-04 23:28:18
WPF广泛使用部分类。 XAML生成可添加到的部分类。
当我知道我们将有几个开发人员在一个类上工作时,我使用部分类来减少版本控制的合并痛苦。例如,我们经常将我们的DAL类拆分成几个分部类文件。如果你不把它们放在不同的文件中,那么很容易就会遇到合并冲突,在检入版本ctl时需要一段时间才能修复。
当开发变得越来越混乱,因为类接近完成,我们摆脱了部分文件。我们只是用它来使VC/mulit-developer问题更容易
- 1. C#中“内部”关键字的实际用法
- 2. `stackalloc`关键字的实际用法
- 3. 关键字“内容”在Google Adwords API中代替实际的关键字
- 4. 部分关键字搜索
- 5. 查找从关键字到关键字的字符串部分
- 6. C++关键部分不起作用
- 7. c#中虚函数的实际用法
- 8. MPI中的关键部分?
- 9. C99'restrict'关键字的现实用法?
- 10. python中的导入关键字如何实际工作?
- 11. C#锁关键字的用法
- 12. 新关键字的真实用法隐藏虚拟方法实现? c#
- 13. Javascript关闭的实际用法/示例
- 14. 轮询锁是否实现关键部分的正确方法?
- 15. 'this'关键字实际引用了什么类型?
- 16. 关键字Set在VBA中实际做了什么?
- 17. 在Perl中关键字`no`实际上做了什么?
- 18. 包含另一个关键部分的关键部分?
- 19. c中的“HANDLE”关键字
- 20. 同步关键字内部实现
- 21. C#方法,使用params关键字
- 22. 在ANTLR语法中使用不同的关键字关键字
- 23. 在C++中使用C关键字
- 24. 有没有实现C++的自动关键字的方法03
- 25. c#关键字
- 26. python部分与关键字参数
- 27. 部分关键字搜索(MS SQL 2005)
- 28. Sphinx搜索:部分关键字
- 29. 轮胎不搜索部分关键字
- 30. 关键部分无法在onSensorChanged()
Oo,绝妙的主意!我从未想过要这样做。 – 2009-03-04 23:02:21