欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > C# >内容正文

C#

C# partial 部分类使用简单举例说明

发布时间:2025/3/11 C# 71 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C# partial 部分类使用简单举例说明 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

partial 关键字允许把类、结构、方法或者接口放在多个文件中。一般情况下,某种类型的代码生成器生成了一个类的某部分,所以把这类放在多个文件中是有益的。假定要给类添加一些从工具中自动生成的内容。如果重新运行该工具,前面所做的修改就会丢失。partial 关键字有助于把类分开放在两个文件中,而对不由代码生成器定义的文件进行修改。

partial 关键字的用法是:把Partial放在class、struct、或者inteface关键字前面。在下面的举例中 SampleClass类驻留在两个不同的源文件 SampleClassAutogenerated.cs 和 SampleClass.cs中。

//SampleClassAtuogenerated.cs partial class SampleClass {public void MethodOne(){} }//SampleClass.cs partial class SampleClass {public void MethodTwo(){} }

编译包含这两个源文件项目时,会创建一个SampleClass类,它有两个方法MethodOne() 和 MethodTwo()。

如果声明类时 使用了下面的关键字,则这些关键字就必须应用于同一个类型的的所有部分。

1、public

2、private

3、protected

4、internal

5、abstract

6、sealed

7、new

8、一般约束

在嵌套的类型中,只要partial关键字位于class关键字的前面,就可以嵌套部分类。在把部分类编译到类型中时,属性,XML注释,接口,泛型类型的参数属性和成员会合并。有如下两个源文件:

//SampleClassAutogenerated.cs [CustomAttribute] partial class SampleClass:SampleBaseClass,IsampleClass {public void MethodOne(){} }//SampleClass.cs [AnotherAttribute] partial class SampleClass:IOtherSampleClass {public void MethodTwo(){} }

编译后,等价的源文件变成:

[CustomAttribute] [AnotherAttribute] partial class SampleClass:SampleBaseClass,ISampleClass,IOtherSampleClass {public void MethodOne(){}public void MethodTwo(){} }

 注意:尽管partial 关键字很容易创建跨多个文件的巨大的类,且不同的开发人员处理同一个类的不同文件,但是关键字并不用于这个目的。在这种情况下,最好把大类拆分成几个小类,一个类只用于一个目的。

部分类可以包含部分方法。如果生成的代码应该调用可能不存在的方法,这就是非常有用的。扩展部分类的程序员可以决定创建部分方法的自定义实现代码,或者什么也不做。下面的代码片段包含一个部分类,其方法MethodOne调用APartialMethod方法。APartialMethod方法用partial关键字声明:因此不需要任何实现代码。如果没有实现代码,编译器将删除这个方法调用:

//SampleClassAtuogenerated.cs partial class SampleClass {public void MethodOne(){APartiaMethod();}public partial void APartialMethod(); }

部分方法在实现可以放在部分类的任何其他地方,如下面的代码片段所示。有了这个方法,编译器就在MethodOne内创建代码,调用这里声明的APartialMethod:

//SampleClass.cs partial class SampleClass : IOtherSampleClass {public void APartilMethod(){//implementation of APartialMethod} }

部分方法必须是void类型,否则编译器在没有实现了代码的情况下无法删除调用。 

 

 

 

总结

以上是生活随笔为你收集整理的C# partial 部分类使用简单举例说明的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。