これが私がやりたいことです:
public [type determined at runtime] ImageToShow
{
get
{
if(this.IsWebContext)
{
return this.GetString();
}
else
{
return this.GetBitmap();
}
}
}
一見すると、Tがこのクラスのインスタンスで作成されたジェネリック型である場合、それは単純で実行可能に見えます。しかし、私がやりたいのは、Imageプロパティ内で行われた決定に基づいて文字列またはビットマップを提供することです。これにより、Imageとしてサーバーするものの知識がImageプロパティ内に含まれ、他の場所がそれについて知る必要がなくなります。私は確かに戻り型を「オブジェクト」にすることができ、それは機能しますが、ボックス化とボックス化解除の非効率性も、リフレクションも含まないようにします。
このアイデアをあきらめる前に、これが可能かどうかを皆さんに確認したかっただけです。