2016-08-17 58 views
0

是否可以在方法之後調用屬性?在c中的方法後調用屬性#

例子:

public static class Test 
{ 
    public static string Show { get; set; } 

    public static void Get(string s) 
    { 
     Show = s; 
    } 
} 

,並呼籲像這樣:

Test.Get("HI").Show; 
+0

什麼是你的實際需求? 'Show'什麼是'Test'的類型是什麼?請求更清晰 –

+0

**是的,如果您返回實例,則可能** .. – Shaharyar

+0

@非幸運我編輯有問題的代碼 – Ali

回答

3

更新2:流暢的界面

如果要實現一個流暢的接口,我會建議重命名您的方法,如:

public class Test 
{ 
    public string Show { get; set; } 

    public Test ConfigureShow(string show) 
    { 
     Show = show; 
     return this; 
    } 
} 

你的方法更可讀現在明確規定了該方法的意圖:

var test = new Test() 
    .ConfigureShow("HI"); 

請在您的類中的方法,其餘遵循相同的模式和連鎖您對新系的方法改善了可讀性。

更新1:你的意圖是什麼?

有沒有特別的理由讓你試圖做到這一點?有幾個問題與你的類:

  • 你的方法應該是有意義 - 你不應該有一個名爲Get方法,它需要一個參數,然後修改對象。通常,Get方法意味着你只是從對象中提取某些東西。
  • 爲什麼你傳遞一個參數給方法,只是爲了再次獲取它?
  • 你是否試圖實現一個Fluent接口?

什麼是錯的:

var show = "HI"; 
var test = new Test(); 
test.Show = show; 
//You already have your text in the variable show, so why do you want to access it again? 

原始答案OP的問題

public class Test 
{ 
    public string Show { get; set; } 

    public Test Get(string s) 
    { 
     Show = s; 
     return this; 
    } 
} 
+0

看看更新,'Test'是一個靜態的類,你不能實例化它們 –

+0

OP所要做的事情沒有任何意義,你應該正確地問和引導他,而不是僅僅拋出一個沒有邏輯的代碼片段。 – Shaharyar

+0

夠公平 - 我會相應地編輯我的答案 –