知识大全 C#分部方法(PartialMethod)讨论

Posted

篇首语:事常与人违,事总在人为。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#分部方法(PartialMethod)讨论相关的知识,希望对你有一定的参考价值。

C#分部方法(PartialMethod)讨论  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

C#新增的特性中引起争议的有许多 分部方法(Partial Method)算是一个 分部方法通常被定义在一个分部类中 在常规的类文件中也可实现 如果分部方法没有被实现 编译器就不会 对他们进行编译

  分部方法有着严格的限制 它们必须是私有的 不能返回值 不能有输出参数 因为任何针对没有被实现的分部方法的调用都会简单地被忽略 所以说这些限制是非常有必要的 反过又意味着 分部方法不能作为一个明确分配的变量 Visual Basic也有分部方法 尽管VB不需要对变量的明确分配 它也有同样的限制

  有那么多的限制 有人可能会问 它们有什么优点? 这个问题问得好 基本上 分部方法仅被代码生成器在处理轻量级事件的时候使用 就像 Alexander Jung所解释的

  分部方法通常(也可能是唯一相关的)的应用场景就是在代码生成的时候用于处理轻量级事件 假设你解析一个数据库或者一个XML文件 然后生成了数据类 结果你会发现有数十个类 几百个属性以及一大堆泛型和模板文件等 分部方法另外一个经常被用到的地方是验证 或者让属性的setter去更新另一个属性 所以如果你要使用产生的代码 或者在运行时有几百个事件和数千个方法调用的话( 其实大多数情况下只用到了其中的一点点) 就让分部方法来吧 分部方法在声明和使用时要比事件容易得多 如果没有用到它们 它们就会消失

  性能的提升并不是没有代价的 从分部方法必须是私有的限制中 Alexander发现了它们的不足之处

  缺点 如果你喜欢元数据驱动的应用 并且已经被的数据绑定所困扰时(因为没有其他的方法可以附上元数据)……那么 就准备着在将来丢失信息吧 如果你需要为属性的setter增加一些事件(基于跟踪和调试的需要) 如果你需要某个动态的行为(比如附上某个通用规则引擎)等等 那么就让我们祈祷代码分析器的开发人员能够预知这个场景(或者已经做好了准备)吧 你有了一个清晰的层的分离 那么实体就应该对UI一无所知吗?是的 将代码直接放到数据类中会破坏层的关系 但是你可以手动地用分部方法实现真正的事件啊

  另外一些人对于C#中的分部方法也是忧虑重重 大部分是关于代码设计器的使用的 Stefan Wenig写道

cha138/Article/program/ASP/201311/21853

相关参考

知识大全 C# 3.0中的分部方法

C#3.0中的分部方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  分部方法的语法  在看C#

知识大全 C#开发的两个原则的深入讨论

C#开发的两个原则的深入讨论  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用属性避免将数据成

知识大全 对C#开发的两个基本原则的深入讨论

对C#开发的两个基本原则的深入讨论  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用属性避免将

知识大全 关于c#静态方法和实例方法的辨析和应用

  本文将围绕c#静态方法和实例方法讨论一下针对一些观点如静态方法是常驻内存还有静态方法比实例方法先装载做一个辨析同时讨论下何时用静态方法何时用实例方法  前几日在微软的好友发给我一个链接《静态方法和

知识大全 c#窗体事件

  从网上看到了一个窗体拖动事件超级简洁至少现在这个阶段我是看起来有困难的有兴趣的哥们们可以讨论下usingSystemusingSystemCollectionsGenericusingSystem

知识大全 用C#创建COM对象

用C#创建COM对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在本篇文章中我们将讨论下面的

知识大全 c#中如何实现3层架构

  这篇文章讨论如何在c#中实现层架构使用MSAccess数据库存储数据在此我在层架构中实现一个小型的可复用的组件保存客户数据并提供添加更新查找客户数据的功能  背景  首先我介绍一些层架构的理论知识

知识大全 教你在c#中实现3层架构

  这篇文章讨论如何在c#中实现层架构使用MSAccess数据库存储数据在此我在层架构中实现一个小型的可复用的组件保存客户数据并提供添加更新查找客户数据的功能  背景  首先我介绍一些层架构的理论知识

知识大全 .NET 分部方法

.NET分部方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  分部方法  分部类或结构可以包含

危险性较大的分部分项工程是指房屋建筑和市政基础设施工程在施工过程中,容易导致人员群死群伤或者造成重大经济损失的分部分项工程。( )

危险性较大的分部分项工程是指房屋建筑和市政基础设施工程在施工过程中,容易导致人员群死群伤或者造成重大经济损失的分部分项工程。()A.正确B.错误【正确答案】A