WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院软件开发C语言 C# 3.0: 局部方法(partial method)及其特点 阅读

C# 3.0: 局部方法(partial method)及其特点

 2010-09-30 20:49:56 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劖顐煎☉妯锋瀻闁归偊鍓涘▔姘舵⒑閸涘⿴娈旀繛灞傚妼閳绘捇骞嬪┑鎰濡炪倖姊婚崢褏鎲撮敓锟�
核心提示:我们知道,在C# 2.0中引入了一个局部类(partial class)的概念,C# 3.0: 局部方法(partial method)及其特点,它允许我们在不同的文件中编写一个类型的多个部分,编译器会做合并编译,因为这种特性,局部方法只适用于void类型的方法,C# 3.0又开始引入了一个新的语法:局部方法它的思路大

我们知道,在C# 2.0中引入了一个局部类(partial class)的概念,它允许我们在不同的文件中编写一个类型的多个部分,编译器会做合并编译。

C# 3.0又开始引入了一个新的语法:局部方法

它的思路大致是这样:方法声明和方法实现可以分开来做。

public partial class MyClass
{
    //声明方法
   partial void SomeMethod();   
}

public partial class MyClass
{
    //实现方法
   partial void SomeMethod()
    {
        Console.WriteLine("Hello,worod");
    }
}

但是要注意的是,该方法并不能被外部直接调用,你不可以给它加上类似public这样的访问修饰符。

那么,这就奇怪了。它到底有什么用意呢?

其实,它正是只能用于类型内部访问。可以试想一下,我们在设计一个类型的时候,可能会有这样的情况:某个操作是需要的,但在类型设计阶段还不知道如何实现。所以,我们需要先放置一个占位符。

public partial class MyClass
{
    //声明方法
   partial void SomeMethod();

   public void Test()
   {
       SomeMethod();//这个方法要调用SomeMethod,但SomeMethod目前还不知道如何实现
   }
}

我们类型内部有一个Test方法,它试图要去调用SomeMethod,即便现在还不知道如何实现。

那么,你可能会问,如何我们后来就压根没有去实现SomeMethod呢?怎么办呢?这是一个好问题!

事实上,编译器会检测这种情况,如果某个方法虽然声明了,但没有实现,它不会被编译进去,所有对其的调用代码也会被移除。

C# 3.0: 局部方法(partial method)及其特点

C# 3.0: 局部方法(partial method)及其特点

很显然,因为这种特性,局部方法只适用于void类型的方法,即没有返回值的。

Tags:局部 方法 partial

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接