constraints相关内容

模板约束C ++

在C#中,我们可以定义一个泛型类型,它对可以用作泛型参数的类型施加约束。以下示例说明了通用约束的用法: 接口IFoo { } class Foo其中T:IFoo { } class Bar:IFoo { } class Simpson { } 类程序 { static void Main(string [] args) { F ..
发布时间:2016-10-11 21:23:14 C/C++开发

添加约束为空的枚举

我写了一些枚举功能,并有以下几点: 公共静态牛逼ConvertStringToEnumValue< T>(字符串valueToConvert ,布尔isCaseSensitive) { 如果(typeof运算(T).BaseType.FullName =“System.Enum”&放大器;!&安培; typeof运算(T).BaseType.FullName =“System. ..
发布时间:2016-10-08 15:20:55 C#/.NET

在C#泛型反约束

以菲尔哈克对空或空凝聚灵感的尝试,我想写一对夫妇的扩展方法为字符串的对象,以及在的IEnumerable< T> 接口,以便简化空或emtpy ckecking。不过,我遇到了问题:当我试图调用字符串 AsNullIsEmpty 的版本,编译器把我的字符串作为的IEnumerable<焦炭方式> ,当然给出了错误的返回类型 有什么办法把“反限制”关于的IEnumerable ..
发布时间:2016-10-08 13:59:38 C#/.NET

使用比较运算符,如'!='和'==',以约束在C#泛型的价值

我有以下代码: 类Foo< T>其中T:结构 { 私人T(T); [...] 公共布尔等于(T(T)){返回this.t ==吨; } } 当我尝试编译,它给了我以下错误: 运营商'=='不能应用于类型为'T'和'T' 为什么不能做到?如果约束是其中T:类它会奏效。但我需要它是值类型,因为我在执行这个通用将永远是一个枚 ..
发布时间:2016-10-05 23:38:38 C#/.NET

编译器无法转换约束泛型类型

我有了一个通用型的“G”类 在我的类模型,我有 公共类DetailElement:ElementDefinition 让我们说我有一个方法像这样 公共无效DoSomething的< G>(G通用) 其中G:ElementDefinition { 如果(一般为DetailElement) { ((DetailElement)通用).DescEN ..
发布时间:2016-10-01 19:50:00 C#/.NET

如果是值类型/引用类型约束在C#有用吗?

我在找当值类型/引用类型约束是有用的演示简单的例子。 ...其中T:结构//如果是这样有用吗? ...其中T:类//什么样? 我记得看到一些非常好的例子,在过去,但我无法找到他们。 解决方案 它允许您使用为运营商对T,如果它是 T:类 它禁止你与空如果T T:结构 请注意,如果你省略 T:类,那么你可以比较T可空,即使T是值类型 ..
发布时间:2016-09-29 13:33:57 C#/.NET

C#:Enum.IsDefined上结合标志

我有这样的枚举: [国旗] 公共枚举ExportFormat { 无= 0, 的CSV = 1, TSV = 2, 的Excel = 4, =所有的Excel | CSV | TSV } 我想就这一个包装(或任何,真的)枚举该通知上的变化。目前,它看起来像这样: 公共类NotifyingEnum< T> :INotifyPropertyCh ..
发布时间:2016-09-29 11:47:49 C#/.NET

XML序列化布尔值介于0和1

XML架构第2部分规定,被定义为布尔数据类型的实例可以有以下法律文字{真,假,1,0}。 下面的XML,例如,反序列化时,布尔财产“效仿”设置为真正。 <根和GT; <模拟> 1 LT; /模拟> < /根> 然而,当我序列化对象返回到XML,我得到真而不是数值。我的问题是,有没有我可以控制XML布尔表示一种方式? 解决方案 ..
发布时间:2016-09-20 10:28:17 C#/.NET

C#泛型约束

是否有可能列举哪些类型是一个通用的限制“可用” T的MyMethod< T>( )其中T:INT,双,字符串 为什么我要做到这一点的是,我有一个小评估引擎,并想为$像本b $ b写代码: 布尔expression.Evaluate<布尔>(); 或 INT expression.Evaluate< INT&G ..
发布时间:2016-09-19 12:55:31 C#/.NET

C#泛型约束,包括价值类型和字符串

我试着写IEnumerable的扩展方法,将只适用于值类型和字符串。 公共静态字符串的MyMethod< T>(这个IEnumerable的< T>源)其中T:结构,字符串 然而“字符串'不是一个有效的约束,因为它是一个密封类。 有没有办法做到这一点? 编辑: 什么实际上,我试图做的是在一个动态构建的“IN”的条款准备 ..
发布时间:2016-09-19 12:42:33 C#/.NET

为什么没有一个接口工作,而是一个抽象类与泛型类的限制呢?

下面的代码显示了一个类型约束泛型类(酒吧< T> )。类具有可以提高使我们能够传递消息给用户的事件。约束是消息必须实施 IMSG (或 IMSG 继承时,它是一个抽象类)。 酒吧< T> 还提供了一个订阅方法,以允许对象订阅通知事件当且仅当对象实现 IHandler< IMSG方式> 使用.NET 4,下面的代码显示,指出对 baseImplementer ..
发布时间:2016-09-18 11:44:24 C#/.NET

C#泛型多重制约

我不知道是否有可能添加多个泛型约束? 我有一个Add方法接受一个对象(无论是电子邮件,电话或地址),所以我的想法是这样的: 公共无效添加< T>(T OBJ) ,其中T:地址 ,其中T:电子邮件 ,其中T:电话 { 如果(obj是地址) m_Address.Add(OBJ时地址); ,否则如果(obj是电子邮件) m_Email.Add(OBJ中的电子邮件); , ..
发布时间:2016-09-06 14:02:40 C#/.NET

如何约束泛型类型到必须有一个construtor这需要一定的参数?

我有打算与一组类型中使用的包装通用类。这些类型由工具生成,并都从基类派生ClientBase。虽然ClientBase只有一个默认的构造函数生成的所有类型有默认的构造函数,以及一个构造函数采用一个字符串作为参数。在包装类的构造函数中,我实例化,需要一个字符串构造函数的类型的实例。下面是一个示例代码: 公共类ClientBase {} 公共类GenericProxy< ; T&G ..
发布时间:2016-09-06 12:57:17 C#/.NET

如何使用接口为C#泛型类型的限制?

有没有办法让下面的函数声明? 公共BOOL美孚&LT; T&GT;()其中T:界面; IE浏览器。其中T是一个接口类型(类似于,其中T:类和结构)。 目前我已经定居:公共BOOL美孚&LT; T&GT;()其中T:IBase的; 在哪里IBase的被定义为是我所有的自定义接口...不理想继承了一个空接口,但它应该工作...为什么你不能定义一个泛型类型必须是接口? 有关它的价值,我想这是 ..
发布时间:2016-08-26 22:14:31 C#/.NET