1

したがって、この特定のトピックは打ちのめされました。しかし、どうやら私の反復は、選択した方法ではないか、実装には実用的ではありません。

目標は、Windows フォームと Web フォームを作成することです。これらの 2 つの形式。別のクラスでプロパティを設定します。次に、他のクラスがコンテナーを参照します。そうすれば、インターフェースが変更されると、多くの再コーディングなしで機能が変更されます。

Windows フォーム ---> コンテナ <--- Web フォーム コンテナ --> 参照先: クラス 1、クラス 2、クラス 3

私は次のようにアプローチしました: フォーム:

private Some.Reference.ToClass.Container _container;
public void Method(Some.Reference.ToClass.Container Container)
{
          _container = Container;
}

private void button_click(object sender, EventArgs e)
{
          _container.Name = textbox.Text (or some other component)
}

クラス:「コンテナ」

public Name { get; set; }

参照するクラスまたはフォーム:

Class WhateverName
{
       private string REFERENCE;

       private Some.Reference.ToClass.Container _container;
       public void Method(Some.Reference.ToClass.Container Container)
       {
                _container = Container;
       }

       public void NewMethod()
       {
              REFERENCE = _container.Name;
       }
}

継続的に設定されません。それはnullオブジェクトであると述べています。私は何が欠けていますか?どんな助けでも大歓迎です。または、比較して学ぶための素晴らしいチュートリアルです。または、それが機能しない理由を見つけても問題ありません。

4

1 に答える 1

2

提供された詳細に基づいて; null値の問題を含む。変更に基づいて自動的に初期化するようにコンストラクターを設定しました。次に、null 参照チェックを追加しました。

この解像度の例:

public class One
{

    // declared:
    private.some.Reference.ToSomeClass _container;

    One(ToSomeClass container)
    {
          _container = container;
    }

    private void button_click(object sender, EventArgs e)
    {
          if(_container != null)
          {
               _container.Name = textbox.Text (or some other component)
          }
    }
}

次に、他のクラスで。プロパティを参照します。設定するためです。したがって、値がまだ割り当てられていないか、インスタンスが作成されていないために失敗するのを避けるために、null 参照検証を追加しました。

于 2012-12-20T21:16:42.670 に答える