Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 简单类型和字符串的Where约束_C#_.net_Generic Constraints - Fatal编程技术网

C# 简单类型和字符串的Where约束

C# 简单类型和字符串的Where约束,c#,.net,generic-constraints,C#,.net,Generic Constraints,我有一个通用方法,我想对它进行约束 public T MyMethod<T>(object obj) where T : ??? public T MyMethod(object obj),其中T:??? 约束是所有简单类型int、bool等,但我还需要允许字符串。我有没有办法约束这个组?我相信结构会为您提供所需的所有类型。它还将允许任何已定义的,但这是一个问题,你将有任何解决方案 老实说,这似乎有点过分了。你应该再次考虑你的要求,看看这是否真的需要。 < P>我相信结构会给你所

我有一个通用方法,我想对它进行约束

public T MyMethod<T>(object obj) where T : ???
public T MyMethod(object obj),其中T:???

约束是所有简单类型int、bool等,但我还需要允许字符串。我有没有办法约束这个组?

我相信结构会为您提供所需的所有类型。它还将允许任何已定义的,但这是一个问题,你将有任何解决方案


老实说,这似乎有点过分了。你应该再次考虑你的要求,看看这是否真的需要。

< P>我相信结构会给你所寻找的所有类型的字符串。它还将允许任何已定义的,但这是一个问题,你将有任何解决方案


老实说,这似乎有点过分了。你应该再次考虑你的需求,看看这是不是真的需要。

没有什么正好匹配你想要的,但是<代码> IcVistaby String < /C> >,并由你提到的所有核心类型实现。
BCL文档建议您不要直接使用此类型,而是根据需要使用
Convert.ChangeType
或一种
Convert.ToXXX
方法。

没有与您想要的完全匹配的方法,但是
IConvertible
可能会这样做-它包含将值转换为所有“核心”类型的方法,包括
string
,并由您提到的所有核心类型实现


BCL文档建议您不要直接使用此类型,而是根据需要使用
Convert.ChangeType
或其中一种
Convert.ToXXX
方法。

为什么需要此方法?这听起来很奇怪,因为这些类型没有任何共同点。不幸的是,没有。这并不完全是您想要的,但您可以通过约束到
IComparable
@KonradRudolph来接近它-我使用一个通用扩展方法,使用typedescriptor类来转换对象,因此转换类型。为什么需要这样做?这听起来很奇怪,因为这些类型没有任何共同点。不幸的是,没有。这并不完全是您想要的,但是您可以通过约束到
IComparable
@KonradRudolph来接近它-我使用一种通用扩展方法,使用typedescriptor类来转换对象,从而转换类型。