特定の基本型であることが強制される型を渡す方法があるかどうか疑問に思っていました。たとえば、私のゲーム エンジンには、属性リスト (controllable、rigidBody など) があります。新しいオブジェクトを取る addAttribute パラメータがあります。ただし、代わりに自分で新しいオブジェクトを作成できる型を取るオーバーロードも必要です。たとえば
public void addAttribut(Type attribute)
おそらくlinqを実装する何かを考えていますか?試してみましたが、「where」はジェネリックでのみ使用できるようです:
public void addAttribute(Type attribute) where attribute : Attribute
関数のシグネチャになります。私は、Unity がこれを行っていると信じています。ただし、Mono を介してこれを実行できる可能性があります。
正しい基本型でない場合は、いつでも例外をスローできます。しかし、プログラマーが間違った時間に一緒に通過するのを防ぐ方法があるかどうか疑問に思っていました.
何か案は?どんな助けでも大歓迎です!