9

この質問は関連していますが、これと同じではありません。C#Auto-Propertyにデフォルト値を与えるにはどうすればよいですか?

私は自動プロパティが大好きですが、時々次のようなことをしなければなりません:

private string someName;

public string SomeName
{
    get
    {
       return someName;
    }

    set
    {
        someName = value.Trim();
    }
}

同じことを何度もやらなければならないのなら、コードの行や文字をそれほど多く入力する必要がないことを望み始めます。値をインターセプトして、次のように変更できるようにしたいと思います。

public string Somename
{
    get;

    [Trim]
    set;
}

このようなことをする方法はありますか?それは愚かでしょうか?もっと良い方法はありますか?他の一般的なコメントはありますか?確かに、私が示した例は少し架空のものであり、これを考えさせられた正確なコードを今は見つけることができません。

ありがとう。

4

2 に答える 2

5

いいえ、これを行う方法はありません。C#の自動プロパティは、最も些細なプロパティのみの構文糖衣構文であり、それ以上のものではありません。

于 2010-06-03T22:30:06.430 に答える
5

PostsharpのようにAOPを使用してそれを行うことができますが、この場合、なぜバッキングストアを使用しないのですか?

また、完全を期すために、おそらくこれを行う必要があります。

someName = (value ?? string.Empty).Trim();

同様に処理nullします。

より多くの作業が関係する特定のケースを念頭に置いている場合は、質問で持っている些細なケースではなく、おそらくそのケースについて質問する必要があることに注意してください

于 2010-06-03T22:31:51.330 に答える