2016-04-23 4 views
1

I'veは、次のコードを得ました。例外ArgumentNullException

+1

'MailAddress'のコンストラクタはどのように見えますか? – hillin

+1

あなたは 'NullReferenceException'を意味すると思いますが、' MailAddress'コンストラクタ内にない限り、あなたが示したコードがなぜそれをスローするのかはまったく分かりません。問題を示す[mcve]を入力してください。 –

+2

私はsetterが 'value'を使用しなければならないと思っていますが、' email'は使用していないと思います。そうです、パラメータ名は 'value'です。 https://msdn.microsoft.com/es-es/library/w86s7x04.aspx –

答えて

4

同じプロパティのsetterで、MailAddressは、コンストラクターで渡されたAddressがnullの場合はNullReferenceExceptionとなります。むしろ使用するべきですvalue

public string email 
    { 
     get { return _email; } 
     set 
     { 
      try 
      { 
       MailAddress m = new MailAddress(value); 
       this._email = value; 
      } 
      catch (FormatException) 
      { 
       throw new ArgumentException("Wrong email format"); 
      } 
     } 
    } 
+0

それはそれだった!ありがとう! –

2

あなたのセッターは、あなたが明らかにnullで再びプロパティのゲッターを使用してバックプロパティを設定している、あなたのようvalueを使用する必要が間違っている:あなたは内のプロパティのゲッターを使用しているためである

try 
    { 
     MailAddress m = new MailAddress(value); 
     this._email = value; 
    } 
    catch (FormatException) 
    { 
     throw new ArgumentException("Wrong email format"); 
    } 
関連する問題