interface相关内容
我有这样的方法:无效M1(字符串str)键,有一类这样的: 公共类MyClass的 { 公共BOOL B1 {设置;得到; } //和其它性质 } 现在为什么下面code不会导致编译错误? IClass2 _class2 =新的Class2(); MyClass的C1 =新MyClass的(); _class2.m1(“ABCDEF”+ C1); 当我调试它
..
在“ VAR类型= TypesImplementingInterface(typeof运算(IInterface<>)) 谁能解释我如何可以修改的方法? 解决方案 您可以使用这样的: 公共静态布尔DoesTypeSupportInterface(类型类型,类型间) { 如果(inter.IsAssignableFrom(类型)) 返回true;
..
为什么接口引用类型?据我了解,接口是类(或结构)之间的契约,那么,为什么它是一个类型的呢?我本来以为这既不是值类型或引用类型。 解决方案 要被视为一个结构的编译器必须知道的在编译时什么具体类型,预留的右侧空间叠加。这意味着即使结构实现的IFoo ,然后用: VAR毫秒=新MYSTRUCT(); IFoo的富=毫秒; 然后分配到富是装箱操作。你可以说“编译器应该发现,它永远都只有一个
..
这是什么之间的区别: 无效的MyMethod(IMyInterface的值) { // ... } 和这样的: 无效的MyMethod< T>(吨价),其中T:IMyInterface的 { // ... } 解决方案 主要功能不同的是,你可以知道对象的泛型方法里面的实际类型。 t参数将包含实际的类型,它可以在某些情况下是有利的。 在非一般的情
..
考虑一下: 公共类的接口人:IPerson { INT ID {获得;保护套; } 字符串名字{获得;组; } 字符串名字{获得;组; } 字符串全名{{返回姓+“”+姓氏; }} } 和这样的: 公共类StubPerson:IPerson { INT ID {{返回0;保护套{}} 字符串名字{{返回“测试”}设置{}} 字符串名字{{返回“用
..
我的问题是有些涉及到这一块:我的问题,但是,是的如何的编译器实现了通用的限制,无需拳击明确地实现接口值类型。 我想我的问题可以归结为两个部分: 什么是与背后的幕后CLR实现,需要一个值类型的访问显式实现接口成员,以及何时进行装箱回事 与移除此需求的通用的限制,会发生什么? 一些例如code: 内部结构TestStruct:IEquatable< TestStruct> {
..
有一些黑魔法code在C#中,你可以定义一个接口的默认实现。 所以,你可以写 VAR实例=新ISomeInterface(); 任何指针? 更新1:请注意,是没有问,如果这是一个好主意。只是怎么可能做到这一点。 更新2:给任何人看接受的答案 在“这应该仅仅被视为一种好奇心。”从马克碎石在“这是一个坏主意,使用专为COM的工具互操作完全和完全不同的做一些事情。这使得你
..
我写了一些单元测试,我创建了一个记录器类,我想模拟文件类。我无法找到我需要用它来创建起订量......你怎么这么成功MOQ类没有接口?接口 这也不清楚我怎么可以使用依赖注入,而无需接口可供选择: 私人的FileInfo _logFile; 公共LogEventProcessorTextFile(FileInfo的日志文件){ _logFile =日志文件; } 当我真的想这样
..
我要调用限制输入类型T的通用方法来实现两个接口: 接口IA {} 接口IB {} 无效美孚< T>(T t)其中T:IA,IB {} 我该如何解决的最后一行 无效条(obj对象) { 如果(obj为1A和;&安培; obj是IB) { FOO((1A和;与Ⅰb)目标文件); } } 反射可能允许做的电话,但我想留在语言
..
我开发了一组类实现一个共同的接口。一个消费者我的图书馆应指望每个类实现一组特定的静态函数。反正是有,我可以装饰这些类,以便编译器将捕获,其中未实现的功能之一的情况下。 我知道构建消费code时,它最终会被抓到。而且我也知道了如何使用一种工厂类来解决这个问题。 只是好奇,想知道是否有任何语法/属性在那里为需要静态函数在一个类中。 版删除单词“接口”,以避免混淆。 解决方案 没有,对于这个没
..
是否有可能定义一个函数,它在必须实现两个接口的参数? (这两个接口是那些我只记得从我的头顶,而不是那些我想要使用) 私人无效DoSomthing(IComparable的,ICollection的输入) { } 解决方案 您可以: 1)定义一个接口,它继承了所需的接口: public接口ICombinedInterface:IComparable的,ICollection的
..
我想指定的合同这个通用接口,使用code合同: 接口IRandomWriteAccessible< T> { 牛逼这个[UINT指数] {设置; } UINT长度{获得; } } 该文件说,指定合约的接口时,使用 ContractClass 属性。但是,编译器会抱怨这样的: [ContractClass(typeof运算(IRandomWriteAcces
..
我倒是觉得并称属性界面将有助于确保你不要创建使用接口类,却忘了让他们序列化。 这可能是一个很基本的问题,但我想请教专家。 解决方案 接口定义一个合同,没有自己的任何状态。 序列化是关于保存和加载的状态的流入和流出的对象模型。 没有多大意义,以序列化的东西,没有保持状态。 要回答迫使接口的实现是序列化的实际问题 - 这就是为什么在.NET中你可以定义应该实现其他接口的接口: 接口Mus
..
我经常听到/读到基于接口编程,但我不是什么真正的含义是很清楚。基于接口编程的实际独立的话题,实际上有书写什么呢?如果是的话,任何人都可以推荐任何好的? 我碰到接口编程基础,我正在读关于如何好API的设计,并希望更多地了解它。现在,我并不清楚如何正确去周围接口设计的API。 任何信息大大AP preciated。 感谢。 解决方案 这基本上EX $ P $的问题pssing您的依赖的的接口
..
我编程使用这是一个循环链表文章,为帮助。 在一个函数,查找在该列表中的节点与给定值 公共节点< T>查找(T项) { 节点< T>节点= FindNode(头,条); 返回节点; } 节点< T> FindNode(节点< T>节点,T valueToCompare) {
..
更新2011年一月06: 不管你信不信,我继续将这一界面到一个开源库我已经开始,Tao.NET 。我wrote博客文章解释这个库的 IArray< T> 接口,这不仅解决了我原来提出的问题,这个问题(一年前?!),而且还提供了协索引接口,在BCL东西是非常缺乏的(在我看来)。 的问题(简称): 我问为什么.NET已的IList< T> ,它实现的ICollection
..
我有以下几点: [的ServiceContract] [ServiceKnownType(typeof运算(ActionParameters))] [ServiceKnownType(typeof运算(SportProgram))] [ServiceKnownType(typeof运算(ActionResult的< SportProgram>))] 公共接口ISportProgra
..
是否有可能读取磁道数据(时间,标题等)从VLC当前播放文件起到一个C#控制台应用程序使用的包装?没有任何人有任何建议的包装使用? 解决方案 有一个净接口VLC 。 目前在codePLEX的实现。 DMediaPlayer - 简单VLC前端希望这是你在找什么... 一些更有用的样品 libvlc媒体播放器,在C#(第1部分) libvlc媒体播放器,在C#(部分2)
..
我是新来的模仿对象,但我知道,我需要让我的类实现接口,以嘲笑他们。 我遇到的问题是,在我的数据访问层,我想有静态方法,但我不能把静态方法的接口。 什么是解决这个问题的最好方法是什么?如果我只是用实例方法(这似乎是错误的),或者是有其他的解决方案? 解决方案 我会用一个方法对象模式。对此有静态实例,并调用它的静态方法。它应该是可能的子类进行测试,这取决于你的模拟框架。 即。在类的静态方法有
..
可以将单个的WCF服务提供多个接口,如果是的话你会如何在的app.config ? EX preSS这 我指的是一个服务于一个终端提供多种接口。 解决方案 首先,你必须清楚什么是服务。你的意思是一个端点,或在同一主机上的多个端点? 假设你的意思是一个端点,然后是的,但有一点工作。一个端点只能实现一个单一的接口;所以你需要做的是你要实现的接口组合成一个单一的接口 public接口IMyI
..