2017-04-21 6 views
0
class A 
{ 
    static void Main(string[] args) 
    { 
     List<RootJson> eList = new List<RootJson>(); 
     RootJson rootjson = new RootJson(); 
     Libs.B.Get(); 
    } 
} 

public class B 
{ 
    public static void Get() 
    { 
     rootjson.Hub = new List<Hub>(); 
     Hub hub = new Hub(); 
     hub.OS = "1.1"; 
     rootjson.Hub.Add(rootjson.hub); 
    } 
} 

rootjsonはクラスAにあり、クラスBでは使用できません。 クラスAにrootjsonを作成したいと思っています。クラスC、D、Eも作成したいからです。これはrootjsonにも追加されます。クラスaでリストを作成しましたが、今度はクラスBのリストに何かを追加したい

この場合、クラスBでrootjsonを宣言するにはどうすればよいですか?高度な

+0

他のクラスへのアクセスを有効にするプロパティを使用します。それが**静的な**プロパティか**インスタンス**のプロパティかどうかは、あなたが決めることです。 –

+0

あなたはOusmaneを詳しく説明できますか?私はそれを得ることはありません –

答えて

2

を見てパラメータ:

class A 
{ 
    static void Main(string[] args) 
    { 
     List<RootJson> eList = new List<RootJson>(); 
     RootJson rootjson = new RootJson(); 
     Libs.B.Get(rootjson); 
    } 
} 

public class B 
{ 
    public static void Get(RootJson rootJson) 
    { 
     // Do something if rootJson is null 
     if (rootJson == null) rootJson = new RootJson(); 

     rootJson.Hub = new List<Hub>(); 
     Hub hub = new Hub(); 
     hub.OS = "1.1"; 
     rootJson.Hub.Add(hub); 
    } 
} 
+0

パーフェクト..作品..ありがとう –

-1

おかげで、あなたはこれについて行くことができる2つの方法があります。

1-あなたは、あなたがそれに必要なものを追加するよりも、あなたが望むクラスでRootJsonの変数をインスタンス化する必要があります。

2 - あなたは常に必要に応じて簡単にアクセスして変更する他のすべてのクラスで継承を使用するよりも、追跡し、RootJsonオブジェクトを変更するクラスを作るよりも、型RootJsonの同じオブジェクトで作業する場合

相続の味は以下に説明されています:

あなたの質問はクラス継承に関するものです。クラスにメソッドや変数を作成するときは、public、protected、およびprivateの3つの選択肢があります。 は、変数を作成し、あなたがクラスAにあるいくつかのものにアクセスする必要があると言う、および/またはそのように保護されたアクセスする必要がある方法:

クラスAに:

protected int GetNextID(); 

次のステップにありますこれはスコープと呼ばれ、どこにメソッドや変数をあなたの参照元を見つけるためにクラスBを教えて、あなたはクラスBで次の手順を実行する必要があります。

public class B : A 
{ 

} 

ついにあなたは、クラスBのクラスAのメソッドを使用することができ、それを電話するだけで

詳細については、
ID = GetNextID(); 

あなたは(あなたがそれを使用する場所それはだと仮定して)あなたのGetコマンドの引数リストに追加し、そのを通じてBAから、それを渡すことができ、クラスの継承here

関連する問題