私はいくつかのサンプルを保持するクラスFrame
を持っています。これらのサンプルを別の数値型に変換するメソッドAsType
が必要です。ジェネリック型を受け取って返すメソッド - それを行う方法?
これを試しましたが、The type or namespace 'TargetType' cannot be found
が原因で機能しません。また、なぜそれがうまくいかなかったのか、それについて考える正しい方法を見つけ出して、それを正しく得ることができたのか、少し迷っています。
public class Frame<T>
{
public T[] Samples { get; protected set; }
public Frame(IEnumerable<T> Samples)
{
Samples = Samples.ToArray();
}
public Frame<TOut> AsType(Type TOut)
{
// line below doesn't work
return new Frame<TOut>(Samples.Select(s => (TOut)s));
}
}
「か何かを」本当にそれが、できるGoogleで検索することができませんか?実際の例外メッセージを調べると、メソッド定義にジェネリック型のパラメータがないことがわかります: 'AsType <' ** 'TOut' **'>() '。 – CodeCaster