超载泛型方法我有方法,通过它传递函数求代表至极用户转换一些输入值返回新值(非常超过简化了什么,我想实现)特定数据类型
public L Coerce<L>(string value, Func<string, L> coercer)
{
return coercer(value);
}
Coerce<int>("123", v => int.Parse(v));
这是好的,但是我也希望能够编写重写行为为特定类型的如方法...
public int Coerce<int>(string value)
{
return Coerce<int>(value, v => int.Parse(v));
}
所以基本上调用
Coerce<int>("123"); // equivalent Coerce<int>("123", v => int.Parse(v));
将节省我不得不为每个Coerce重写int.Parse。当然,这应该再扩展到处理
public decimal Coerce<decimal>(string value)
{
return Coerce<decimal>(value, v => int.Parse(v));
}
等等等等
可以这样做整齐?
詹姆斯
您不必使用拉姆达式呼叫:您还可以拨打强制( “123”,int.Parse)。 –
2009-08-03 12:29:37
好吧,这有点更好,但我宁愿不必事件添加int.Parse在最后如果可能? – 2009-08-03 12:35:07