2016-07-23 13 views
0

あるクラスファイルから別のクラスに値を渡したいと思います。wpfを使用してあるクラスから別のクラスに値を渡すにはどうすればよいですか?

例えば:

ステップ1:

Class1.csの

public class Class1 
    { 
     public string LogedInPerson { get; set; } 

     public string Name 
     { 
      get { return this.LogedInPerson; } 
      set { this.LogedInPerson = value; } 
     } 
    } 

ステップ2:

値は方法の下に割り当てられている:

test.xaml.cs

public void assignValue() 
{ 
    Class1 obj = new Class1(); 
    obj.LogedInPerson = "test123"; 
} 

ステップ3:

私はClass2.csから "test123" の値を取得したいと思います。

例:

public void test() 
     { 
      string selected_dept = ?? //How to get "test123" from here. 
     } 

答えて

2

初期Class1assignValue()外methos

Class1 obj = new Class1(); 

public void assignValue() 
{ 

    obj.LogedInPerson = "test123"; 
} 
public string returnValue() 
{ 

    return obj.LogedInPerson; 
} 

2番目のクラス名test.xaml場合、このようにそれを呼び出すが、私はあなたがそうクラス名test.xamlを使用することができるとは思いません代わりに素敵な名前を使用してください。例:Class2

public void test() 
{ 
    test.xaml test = new test.xaml(); 
    test.assignValue(); 
    string selected_dept = test.returnValue(); //How to get "test123" from here. 
} 
+0

ありがとうございます.....うまく動作します。 – dhamo

+0

あなたは歓迎です:) – Mostafiz

0

この質問は、WPF固有の機能ではなく、基本的なオブジェクト指向プログラミングの原則に関するトピックであると考えています。したがって、私はWPF以外の特定の回答をあなたに提供します。これは、私の質問を最も直接的な方法で解決できるようにするためです。

OOPでは、メソッドが呼び出し元に結果を返すことができます。だから、例えば、

public string GetReturnObject(){ 

    return "This is a return object"; 

} 

あなたは、新しいオブジェクトを作成し、

public void Test(){ 

    string data = GetReturnObject(); 

} 

そして今dataTest()が呼び出されたメソッドから返されたオブジェクトが割り当てられます、呼び出し元にそれを渡すことができます。あなたは戻り値の型を追加し、呼び出し元に戻ってインスタンス化Class1オブジェクトを渡すことによって、あなたのAssignValue方法を変更するのであれば、あなたが助け

public Class1 assignValue() 
{ 
    Class1 obj = new Class1(); 
    obj.LogedInPerson = "test123"; 
    return obj; 
} 

希望を必要とする答えを持っています。

3

パブリック変数を含む変数クラスを持つことができます。変数クラスにclass1のインスタンスを定義します。 test.xml.csで

public static class1 myclass=new class1(); 

クラス2の値

public void assignValue() 
{ 
myclass.LogedInPerson = "test123"; 
} 

を設定します。cs

public void test() 
    { 
     string selected_dept = myclass.LogedInPerson; 
    } 
関連する問題