ホームページ >バックエンド開発 >C++ >C#の数値タイプに汎用メソッド引数を制限するにはどうすればよいですか?

C#の数値タイプに汎用メソッド引数を制限するにはどうすればよいですか?

DDD
DDDオリジナル
2025-02-01 23:16:09835ブラウズ

How Can I Restrict Generic Method Arguments to Numeric Types in C#?

c#generic method数値型制限

C#の一般的な方法は、さまざまなタイプにわたる抽象的および複雑な操作のための強力なツールです。ただし、従来のキーワードは、インターフェイスまたは継承の制約のみを許可します。パラメーターを特定のタイプ(数値ベース要素タイプなど)に制限する場合、この制限が問題になる場合があります。

.NET 7 IbinaryInteger where名前空間のインターフェイス。このインターフェイスには、INT16、INT32、INT64、UINT16、UINT32、およびUINT64として一般的な方法を抑制できるすべての整数タイプが含まれています。

ibinaryInteger

を使用して integerFunctionの実装 たとえば、

次の

を考慮すると、渡されたパラメーターが正の場合は、trueを返します。 IBinaryInteger<Tself>

例の例新しいを使用して、さまざまな整数タイプの正と否定的な性質を簡単に確認できます。 歴史レビュー

IntegerFunctionの導入前は、C#には、遺伝的パラメーターを特定の数値タイプとして制限するための明示的なサポートがありません。代わりに、プログラマーは工場モデルや戦略などの方法の変更を支援できます。ただし、これらの方法では、ユーザーが追加のコードを作成し、複雑さを高める必要があります。

以上がC#の数値タイプに汎用メソッド引数を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。