我必须将参数发送给新类的构造函数。我发送的参数是通用的。在构造函数中,我必须使用它的一个字段(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;
}
}
}
怎么投呢?或者它没有办法。
我已经编辑了示例代码。好点吗?