ホームページ >バックエンド開発 >C++ >C# でオブジェクトをジェネリック型にキャストまたは変換するにはどうすればよいですか?

C# でオブジェクトをジェネリック型にキャストまたは変換するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-05 11:13:42527ブラウズ

How Can I Cast or Convert Objects to Generic Types in C#?

ジェネリック型変数を使用した変数のキャスト

C# プログラミングでは、オブジェクト型の変数をジェネリック型 T の変数にキャストできます。ここで、T は Type 変数で定義されます。その仕組みは次のとおりです。

ジェネリック メソッド CastObjectオブジェクトを入力として受け取り、次のような単純なキャスト式を使用してそれを型 T の変数にキャストします。

public T CastObject<T>(object input) {   
    return (T) input;   
}

ジェネリック メソッド ConvertObject直接キャストの代わりに変換を実行します。 Convert.ChangeType メソッドを使用して入力オブジェクトを指定されたジェネリック型に変換し、互換性のない型間でキャストする際の柔軟性を高めます。

public T ConvertObject<T>(object input) {
    return (T) Convert.ChangeType(input, typeof(T));
}

たとえば、10 進数値を持つオブジェクト value1 が与えられた場合、それをキャストします。 ConvertObject メソッドを使用して int に変換すると、整数値が返されます:

Type intType = typeof(Int32);
object value1 = 1000.1;

int value2 = Convert.ChangeType(value1, intType); // value2 will be 1000

キャストと変換が実行時例外を引き起こす可能性があることに注意することが重要ですターゲットのタイプがソースのタイプと互換性がない場合。型キャスト操作を慎重に処理し、期待どおりの結果を確実に得ることが常に重要です。

以上がC# でオブジェクトをジェネリック型にキャストまたは変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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