我想创建一个可以在属性中使用不同类型值的类.我正在尝试使用多态,但我还没有学习如何正确地做到这一点,因此我的建议请求.
我有一个基类和两个继承它的类:
public abstract class BaseClass
{
public string Name { get; set; }
public Unit Unit { get; set; }
}
public class DerivedClassFloat : BaseClass
{
public float Value { get; set; }
public override string ToString()
{
return Value.ToString();
}
}
public class DerivedClassString : BaseClass
{
public string Value { get; set; }
public override string ToString()
{
return Value;
}
}
Run Code Online (Sandbox Code Playgroud)
一切都很好,我可以创建一个List并添加不同的专用子类.当我需要更改列表中项目的值时,我的问题出现了:
foreach (var item in ListOfBaseClasses)
{
if(item is DerivedClassFloat)
((DerivedClassFloat) item).Value = float.NaN; …Run Code Online (Sandbox Code Playgroud)