次のコードは、構造体で暗黙的なプロパティを使用できないことを示しています。
public struct LimitfailureRecord
{
public LimitfailureRecord(string sampleCode)
{
SampleCode = sampleCode;
}
public string SampleCode {get; set;}
{
}
}
エラーメッセージが表示されてコンパイルに失敗します
「自動的に実装されたプロパティ 'blahblah.LimitfailureRecord.SampleCode' のバッキング フィールドは、制御が呼び出し元に返される前に完全に割り当てられる必要があります。コンストラクター初期化子から既定のコンストラクターを呼び出すことを検討してください。」
構造体をクラスに変更しても問題ありません。これを構造体として機能させるにはどうすればよいですか? 回避できるのであれば、バッキング フィールドの長さ (これは実際のコードの大幅に簡略化されたバージョンです) には行きたくありません。