【发布时间】:2014-06-27 00:30:24
【问题描述】:
我想执行以下操作,但效果不佳。我错过了什么或哪里出错了?
我有一个基类 (ValueClass),它被其他 2 个类(ClassA 和 ClassB)继承。
在我的代码中,我想执行以下操作:
var _value = ClassB.Get(1);
并获取返回的 ValuePair(){Key= 1, Value= 999999999M} 但在 Get 函数中查询时,_Values 为空。
我怎样才能做到这一点?
public class ValuePair
{
public int Key;
public decimal Value;
}
public class ValueClass
{
private static List<ValuePair> _Values { get; set; }
public static decimal? Get(int? key)
{
var _result = _Values.Where(i => i.Key == key).FirstOrDefault();
return _result != null ? _result.Value : (decimal?)null;
}
}
public class ClassA : ValueClass
{
private static List<ValuePair> Values=new List<ValuePair>(){
new ValuePair(){Key= 1, Value= 50M},
new ValuePair(){Key= 2, Value= 100M}
};
}
public class ClassB : ValueClass
{
private static List<ValuePair> _Values=new List<ValuePair>(){
new ValuePair(){Key= 1, Value= 999999999M},
new ValuePair(){Key= 2, Value= 25M}
};
}
【问题讨论】:
-
你不能覆盖静态。
-
我知道你不能覆盖静态,这就是我寻找替代方案的原因
标签: c# inheritance static