1

プロパティを使用して、単一の文字列nameをクラスに追加できるようDetailsにしています。プロパティは、2 つの部分に分割できる場合にのみ文字列を受け入れるようにします。

2 つの部分は とfirstNameですLastName。ただし、結果の分割の配列に 1,0 個または 2 個を超える文字列が含まれている場合、入力は無効と見なされ、最初にプロパティを呼び出したコードにエラーをスローしたいと考えています。

このようなプロパティでエラー処理を行うことはできますか?

そうでない場合、正確性をチェックしながらクラスにデータを取得するための推奨される方法は次のうちどれですか。

  1. クラス内のメソッドを使用してDetailsエラー入力を処理し、そのメソッドを作成しbooleanます。
  2. プロパティの使用を続行しますが、プロパティを呼び出すコードによってエラー チェックが行われます。すべてのエラー チェック コードをクラス内で自己完結型にしたいので、これは好きではありませんDetails

.

class Details
{
    private string firstName, lastName;

    public string Name
    {
        // name
        get { return firstName + " " + lastName; }
        set 
        { 
            string name = value;
            string[] nameArray = name.Split(' ');
            firstName = nameArray[0];
            lastName = nameArray[1];
        }
    }
}

編集:私は主に、3つのオプションのどれがベストプラクティスと考えられているかに興味があります:

  1. プロパティ内のエラー チェック。
  2. 別のクラスのクラス外でエラーをチェックし、検証済みの入力をに追加するだけですDetails
  3. boolean内部のメソッドを使用してDetails、入力を検証します。
4

4 に答える 4