出于某种原因,我需要将 aDateTime
转换/转换为许多自定义对象之一
事实证明,以一种很好的通用方式很难做到这一点。
我正在考虑在 object 上实现扩展方法或扩展DateTimeConverter
.
但是,处理这个问题的通用方法是什么,我有一个对象和一个目标类型,目前我正在使用System.ConvertTo(..)
,但这显然是有限的,因为它只支持转换为 .NET 类型并且不能扩展。
有任何想法吗?
出于某种原因,我需要将 aDateTime
转换/转换为许多自定义对象之一
事实证明,以一种很好的通用方式很难做到这一点。
我正在考虑在 object 上实现扩展方法或扩展DateTimeConverter
.
但是,处理这个问题的通用方法是什么,我有一个对象和一个目标类型,目前我正在使用System.ConvertTo(..)
,但这显然是有限的,因为它只支持转换为 .NET 类型并且不能扩展。
有任何想法吗?
您可以为您的 TimeStamp 添加一个构造函数,该构造函数将 DateTime 作为参数。
public class TimeStamp
{
public TimeStamp(DateTime dateTime, ...)
{
// Your code here to convert from dateTime to TimeStamp
}
}
然后后来...
DestType Convert<DestType>( Object linqResult )
{
DestType result;
if( linqResult is DateTime && DestType is TimeStamp )
{
DateTime dbTime = linqResult as DateTime;
result = new TimeStamp( dbTime );
}
...
return result;
}
您甚至可以使用各种反射和构造函数等对其进行扩展。但是,如果您想将一个对象建立在另一个对象的基础上(例如日期时间的时间戳),则构造函数似乎很自然。
希望这有帮助,TJB