私はニックピッキングしています。しかし、ブール値だけを含む構造体(したがって2つの状態しか持たない)にIConvertibleインターフェイスを実装する場合、推奨値はIConvertible.GetTypeCode()
から返されますか?この構造体は暗黙的に変換可能でブール値に匹敵し、文字列やXML表現以外のほとんどあらゆる面で、事実上ブール型です。IConvertible.GetTypeCodeを実装する
私がTypeCode.Boolean
を返すとフレームワークに嘘をついているように感じますが、TypeCode.Object
は不必要に曖昧です。あなた自身の構造にこのメソッドを実装するための現実的な影響はありますか?
IConvertible.GetTypeCode on MSDN
ありがとうございました。私はReflectorもチェックしており、System.Variant.MarshalHelperConvertObjectToVariantなどの低レベルメソッドにアクセスしています。私は結論として、ブーリアンとして広告する理由はほとんどないと考えています。そのため、アクションの最良のコースはTypeCode.Objectを返すように見えます。 – Josh
あなたがそうしないと強い理由がない限り、それは私がお勧めするものです。ブール値に設定すると意図しない結果になることがあります。 –