首页 / 知识
关于c#:通用类型转换FROM字符串
2023-04-12 01:30:00

Generic type conversion FROM string我有一个类,我想用它来存储另一个类的"属性"。 这些属性只有名称和值。 理想情况下,我想要的是能够添加类型属性,以便返回的"值"始终是我想要的类型。 类型应该始终是原始的。 此类是一个抽象类的子类,它基本上将名称和值存储为字符串。 这个想法是这个子类将为基类添加一些类型安全性(以及节省我的一些转换)。 所以,我创建了一个类(大致)这个:
所以问题是: 是否有一种"通用"方式从字符串转换回原语? 我似乎找不到任何通用的界面来连接整个转换(像ITryParsable这样理想!)。 我不确定我是否理解你的意图,但让我们看看这个是否有帮助。
lubos hasko的方法因为无法控制而失败。以下方法适用于无效。不过,我没想出来。我通过Google找到了它:http://web.archive.org/web/20101214042641/http://dogaoztuzun.com/post/C-Generic-Type-Conversion.aspx归功于"Tuna Toksoz" 用法优先:
课程如下。
对于许多类型(整数,双精度,日期时间等),有一个静态Parse方法。您可以使用反射调用它:
您可以使用诸如traits类之类的构造。通过这种方式,您将拥有一个参数化的辅助类,它知道如何将字符串转换为自己类型的值。然后你的getter可能看起来像这样:
现在,我必须指出,我对参数化类型的体验仅限于C ++及其模板,但我想有一些方法可以使用C#泛型做同样的事情。
检查静态 似乎为我工作:
从Bob的答案中获得灵感,这些扩展还支持空值转换和所有原始转换返回和第四。
例子
另一种变化。处理Nullables,以及字符串为null且T不可为空的情况。
我使用了lobos答案,它的确有效。但由于文化设置的原因,我对双打转换有问题。所以我补充道
我使用通过对象转换。这有点简单。 |
最新内容
相关内容
python如何比较两个字符串是否相等
python如何比较两个字符串是否相等,培训,工作,字符串,两个,下面,以上,方法,更多,内容,python在实际的开发工作中,经常会遇到要判定两个字符串python错误类型有哪些
python错误类型有哪些,异常,系统,培训,错误,代码,标准,检测,类型,程序,逻辑,python的错误有语法错误和逻辑错误语法错误程序执行过程中,pythonpythonpython是什么类型的语言
pythonpython是什么类型的语言,培训,系统,教育,软件,电脑,代码,简介,人工智能,类型,语言,python是一种面向对象、解释型、动态类型计算机程序python判断字符串是否为小数的方法
python判断字符串是否为小数的方法,培训,代码,合法,小数点,小数,整数,字符串,方法,右边,左边,python想判断一个字符串是不是一个合法的小数,但python如何查看对象属性
python如何查看对象属性,培训,网络,系统,函数,对象,属性,变量,示例,实例,模块,在Python语言中,有些库在使用时,在网络上找到的文档不全,这就需要python怎么判断是否为空字符串
python怎么判断是否为空字符串,密码,培训,字符串,空格,字符,用户名,方法,两边,长度,全部,判断python中的一个字符串是否为空,可以使用如下方法python判断字符串是否包含另一个字
python判断字符串是否包含另一个字符串,培训,异常,字符串,方法,模块,只不过,下面,对象,以上,成员,python判断一个字符串是否包含子串的方法有python字符串拼接有哪些方法?
python字符串拼接有哪些方法?,培训,一致,字符串,位置,异常,结果,方式,方法,字符,参数,python拼接字符串一般有以下几种方法:①直接通过(+)操作python列表的数据类型分析
python列表的数据类型分析,分析,设计,一致,培训,元素,数据类型,列表,索引,实例,逻辑,python列表的数据类型分析说明1、设计出一种循环的数据python使用f格式化字符串
python使用f格式化字符串,培训,字符串,变量,放入,引号,函数,以上,之间,方式,方法,python使用f格式化字符串1、若要格式化字符串,可在字符串开python使用f.read()返回字符串
python使用f.read()返回字符串,数据,培训,字符串,文本,字节,文件,负数,末尾,数值,字符,python使用f.read()返回字符串说明1、f.read(size)读pythonstr.zfill填充字符串
pythonstr.zfill填充字符串,数字,培训,字符串,正负,副本,方法,前缀,左侧,符号,长度,pythonstr.zfill填充字符串1、str.zfill说明返回原始字符