大佬教程收集整理的这篇文章主要介绍了c#-4.0 – 通过将所需类型作为参数传递,从字符串值转换为特定类型,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
public static T Parse<T>(string value) { // or ConvertFromInvariantString if you are doing serialization return (T)TypeDescriptor.GetConverter(typeof(T)).ConvertFromString(value); }
我必须这样称呼它
Parse<Int32>(Some string value); Parse<DateTime>(Some string value);
我正在尝试而不是明确地给出结果类型,我可以给它一样
Parse<Type.GetType("Int32")>(Some string value);
这要求您编写类似于此的代码:
Parse(Type.GetType("system.int32,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089""),SomeStringValue);
这将工作得很好.但我猜你不会喜欢写这个.否则,可以让您深入了解编译器在程序中读取“Int32”时所执行的操作.它将在其符号表中查找已添加的引用程序集,并注意该表中可能存在的匹配项,考虑使用指令有效.
你必须在你的程序中实现类似的东西.编译器的符号表的等价物是Dictionary< string,Type>.您可以通过使用您希望使用短字符串名称的类型填充它来填充它.喜欢
LookupTable.Add("Int32",typeof(int)); LookupTable.Add("String",typeof(string)); // etc...
现在你可以写:
Parse(LookupTable["Int32"],SomeStringValue);
这将工作得很好.但我猜你不会喜欢写这个.很难击败编译器.
以上是大佬教程为你收集整理的c#-4.0 – 通过将所需类型作为参数传递,从字符串值转换为特定类型全部内容,希望文章能够帮你解决c#-4.0 – 通过将所需类型作为参数传递,从字符串值转换为特定类型所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。