新しいクラスのコンストラクターにパラメーターを送信する必要があります。私が送信したパラメータは一般的です。コンストラクター内で、そのフィールド (id) を使用する必要があります。しかし、直接使用することはできません。使用する前にキャストしたいと思います。しかし、タイプ T を特定のタイプに変換できないと言われました。
例えば
public class Pet<T>
{
foodType foodType; // enum
public Pet(T sample)
{
if(sample.GetType() == typeof(Dog)
{
var pet = (Dog)pet; // there is an error.
foodType = FoodType.Milk;
}
if(sample.GetType() == typeof(Cat)
{
var pet = (Cat)pet; // there is an error.
foodType = FoodType.Fish;
}
}
}
どのようにキャストするのですか?またはそれを行う方法はありません。
サンプルコードを編集しました。それは良いですか?