バイトプロパティで問題が発生しました。 数値が減算されて0より下の数値が設定された場合、属性を0にします。値が負の場合は0にするbyteプロパティ?
私の問題はプロパティでは、計算が既に終了していて値が負ではない値フィールドしか得られないということです負の値はバイトの最大値から減算されます。
属性タイプをsbyteに変更することはオプションではありません。
明示的なセッターメソッドを記述せずにgetterプロパティを使用することなく、4を5から255にする方法はありますか? 、私は今、任意の負の値がされるため、上記のソリューションが動作しません実現
private int m_TestValue;
public byte TestValue
{
get
{
if (m_TestValue < 0)
{
return 0;
}
else
{
return (byte)m_TestValue;
}
}
set {
m_TestValue = value;
}
}
更新 32bitkidへ
ありがとう:どのようにバッキングプロパティはintで、このような何か、について
プロパティ型を 'int'オプションに変更していますか?これは.NETが一般的に行うことです。 – Ryan
あなたは 'checked'キーワードを調べたいかもしれません。 –
@minitech、 'int'は0の問題を解決しません。 @ 32bitkid、 'checked'は例外の問題を作り出します。 –