【发布时间】:2010-09-08 16:27:27
【问题描述】:
我需要转换许多不同的对象,我想避免为每个对象编写一个转换器类。每个对象都继承自一个基类,我需要使用 Id 来获取描述(在我对 CacheManager 的调用中处理)。
对于每个类(我有大约 30 个),我编写了以下代码:
object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Dictionary<int, string> codes = CacheManager.CodeLookup<CourtEventCode>();
int id = 0;
string result = string.Empty;
if (int.TryParse(value.ToString(), out id) && id > 0)
{
if (codes.ContainsKey(id))
{
result = codes[id];
}
else
{
result = "Unknown";
}
}
return result;
}
在上面的例子中,CourtEventCode 代表了这一类的转换器。有没有一种方法可以从 IValueConverter.Convert 的 targetType 输入派生该类,而不必基本上复制和粘贴该类两次?
提前致谢,
桑尼
【问题讨论】:
标签: c# .net wpf generics converter