2016-08-17 3 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

十分に公正 - 私はそれに応じて私の答えを編集します –

関連する問題