9

簡単な質問...

インターフェイスに表記を入れると・・・

[必須]と言う

プロパティの C# クラスでその表記を省略できますか?

つまり...

Interface IFoo
{
   [Required]
   string Bar {get; set;}
}

Class Foo : IFoo
{
   string Bar {get; set;}
}

または、インターフェイスに表記を入れずにこれを行う必要がありますか...

Interface IFoo
{
   string Bar {get; set;}
}

Class Foo : IFoo
{
   [Required]
   string Bar {get; set;}
}
4

2 に答える 2

10

インターフェイスにデータ注釈を配置しても機能しません。次のリンクには、その理由に関する説明があります

コードを次のように変更すると、簡単な説明が得られます。

interface IFoo
{
   [Required]
   string Bar { get; set; }
}

interface IBar
{
   string Bar { get; set; }
}

class Foo : IFoo, IBar
{
   public string Bar { get; set; }
}

複数のインターフェイスを実装することは有効であるため、Bar 文字列が必要かどうかは明確ではありません。

于 2013-06-09T04:49:49.493 に答える