オブジェクトを同じ型にキャストするパフォーマンスに関する質問 (最初は奇妙に聞こえるかもしれませんが、文脈に入れさせてください)
public T Get<T>(string key) where T : class
{
var objToReturn = (T)_cache[key];
if (objToReturn != null)
{
return objToReturn;
}
return null;
}
上記は、型が呼び出し元によって厳密に型指定されている からT
型のオブジェクトを取得しようとするコードのスニペットです。CacheObject
オブジェクトの型が強く型付けされていることを知っているので、次の行について疑問に思っています。
var objToReturn = (T)_chache[key];
これは実際にキャストを呼び出し、キャッシュ内のインスタンスを別のインスタンスに変換してそれを返しますか、それとも型が単純に無視されたキャストと同じであることがわかります。
キャストする機能は、このキャッシュが派生型を取得するために使用されているアプリケーションの後の開発に役立つのでお願いしますが、パフォーマンスが大幅に低下する可能性がある早い段階で繁殖したくありません。
想いと感謝。