class Bar
{
private byte[] dg;
Bar(byte[] datagram)
{
dg = datagram;
}
int Foo
{
get { return BitConverter.ToInt16(dg, 8); }
}
}
プロパティの評価はいつですか? Fooにアクセスしたときは?すべてのプロパティを評価するデバッガが私を怖がらせています。C#プロパティの評価時間
あなたのコードを使用している誰かがプロパティの評価が安い操作になると仮定しているので、プロパティgetterに広範な作業をさせるのは一般的には悪い考えです。そうでない場合は、 'GetFoo()'メソッドを使用してください。 – Thorarin
この例では、最初に変換を行い、Fooで返されるように保存します。 –
@Ed Swangren大部分が一度も使用されていないか、一度だけ使用されている場合は、大量のコンバージョンを保存するのはなぜですか。 @Thorarin私はメソッドがもっと良いだろうと同意します。しかし、良い文書でこのプロパティはうまくいくでしょう。人々が何かを言語のプロパティと同じように愚かにしたい場合は、それらを使うつもりです。 –