c#一般的なメソッド制約は、数値タイプにのみ制限できますか?
はじめに
FREESにより、プログラマーは複数のデータ型で動作できるタイプを定義できます。ただし、一般的なタイプのタイプを制限する必要がある場合があります。この質問では、一般的なパラメーターを特定の値のみに制限できる方法があるかどうかを調査します。 ジェネリックタイプの制限の制約
c#
キーワードにより、開発者は一般的なパラメーターの制約を指定できます。制約を使用して、型パラメーターが特定のインターフェイスを実装するか、特定のベースクラスを継承することを確認できます。 既存の数値インターフェイス
where
残念ながら、C#は、INT16、INT32、INT64、UINT16、UINT32、およびUINT64タイプを専門とするインターフェイスを提供しません。したがって、キーワードを直接使用して、一般的なパラメーターをこれらの特定のタイプに制限することはできません。
代替方法
代替案として、次の方法を検討してください。
where
:Net 7は、
:Anders Hejlsbergが推奨するように、工場モードを使用して、さまざまな数値タイプをサポートするマトリックスを作成できます。この方法では、a
インターフェイスが定義され、マトリックスはこのインターフェイスのインスタンスをパラメーターとして使用します。IBinaryInteger
System.Numerics
結論IBinaryInteger<T>
以上がC#ジェネリックメソッドの制約は、タイプの引数を特定の数値タイプに制限できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。