Mar*_*der 5 .net c# converter typeconverter
.NET知道很多转换数据类型的方法:
Convert-类;(Try)Parse和ToString等类型中的函数;IConvertable;TypeConverter;因此,如果要将一种数据类型转换为另一种数据类型,我需要知道这两种类型,并且我需要知道要使用哪种转换方法.如果这两种类型中的一种(或两者)是泛型类型,这就变得非常讨厌.
所以我的问题是:我在.NET中有统一(通用)方式将一种数据类型转换为另一种数据类型,这可能会使用所有其他有限的方法吗?
在类型之间进行转换的一种很好的通用方法是使用Convert.ChangeType. 以下是如何使用它来编写通用转换方法的示例:
public static TResult Convert<TResult>(IConvertible source)
{
return (TResult)System.Convert.ChangeType(source, typeof(TResult));
}
Run Code Online (Sandbox Code Playgroud)
Convert与其他方法一样,它在内部调用IConvertible接口。
这不会使用您的其他转换选项:
ToString;为此,您可以添加一个检查来查看是否TResult是string,如果是,(在适当的空检查之后)只需调用ToString您的输入即可。TypeConverterAttribute)TypeDescriptor.GetConverter(Try)Parse方法(您将调用的方法),以及op_Implicitand op_Explicit,您同样会调用)如果您对反思有所了解,那么这些都是不言自明的,但如果有困难的话我可以详细说明。
| 归档时间: |
|
| 查看次数: |
481 次 |
| 最近记录: |