gpt4 book ai didi

c# - 强制通用参数可从字符串解析的约束

转载 作者:行者123 更新时间:2023-11-30 15:09:04 25 4
gpt4 key购买 nike

this主题一可以找到制作泛型类的解决方案,该类提供从字符串到泛型参数类型的解析。但是,给定此参数的类型可能会发生不提供此类转换的情况。有没有一种方法可以确保这一点?

更新:谢谢您的回答。但是我知道我通常可以做出限制。问题是:是否存在所有类型都实现的接口(interface),Convert.ChangeType 不会失败。或者由所有类型使用 Parse(string) 方法实现。

最佳答案

因为,正如我在评论中所说,您不能向特定类型添加接口(interface),也不能在泛型类型约束中使用 duck-typing,所以您最终可能不得不编写一些 hacky 解决方案。我认为最好的办法是对您的解析函数进行多次重载,一种用于每种基本类型(int、char、string 等),然后提供一个以 IConvertible 作为其通用约束的通用函数。编译器将选择正确的重载,或者在不可转换类型的情况下根本不选择重载。

关于c# - 强制通用参数可从字符串解析的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com