首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

绑定IList <IMyInterfaceType>不显示IMyInterface继承的接口成员

您好!您的问题是关于C#中的接口继承和列表绑定。在这里,我将为您提供一个详细的答案。

首先,让我们了解一下接口继承和列表绑定。

接口继承是指一个接口可以从另一个接口继承属性和方法。这使得接口可以被重用和组合。在C#中,您可以使用关键字“interface”来创建一个接口,并使用“:”来表示接口继承。例如:

代码语言:csharp
复制
public interface IMyInterfaceType : IMyInterface
{
    // 接口成员
}

在这个例子中,IMyInterfaceType接口继承了IMyInterface接口。这意味着IMyInterfaceType接口将获得IMyInterface接口中定义的所有属性和方法。

列表绑定是指将一个列表(List)绑定到一个接口。这允许您在运行时动态地更改列表的实现,而不会影响使用该列表的代码。在C#中,您可以使用泛型列表类型“List<T>”来创建一个列表,并将其绑定到一个接口。例如:

代码语言:csharp
复制
List<IMyInterfaceType> myList = new List<IMyInterfaceType>();

在这个例子中,我们创建了一个名为myList的列表,它绑定到IMyInterfaceType接口。这意味着myList将只接受实现IMyInterfaceType接口的对象。

现在,让我们回到您的问题。您提到“绑定IList <IMyInterfaceType>不显示IMyInterface继承的接口成员”。这可能是因为您没有在代码中正确实现IMyInterface接口。请确保您已经实现了该接口,并在IMyInterfaceType接口中包含了所有必要的属性和方法。

总之,接口继承和列表绑定是C#中非常重要的概念。希望这个答案能够帮助您解决问题。如果您有任何其他问题,请随时告诉我!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#-面向对象编程、接口、泛型

2.抽象成员在子类中的实现方式不同,abstract的要用override实现,interface的实现不用 3.抽象类可包含已实现的成员, 接口只能出现抽象的成员 4.接口可以实现多继承,抽象类只能被单继承...显示实现可以避免二义性,访问显示实现的接口要创建对应接口的类,来进行访问。...IMyInterface { void Add(int i, int j); } //接口是抽象的概念,创建接口对象,需要声明接口new子类 //接口可以被继承...: 接口命名以大写I开头 , 后面单词首字母大写 //接口可以直接声明,但是不能被new //接口中的成员也是抽象的 interface IMyInterface {...,创建接口对象,需要声明接口new子类 //接口可以被继承 //实现接口的方法不需要 override class MyClass : IMyInterface, ICal

81320

C# 接口(Interface)

接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分。 接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。...成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。 接口使得实现接口的类或结构在形式上保持一致。...接口,接口的实现与类的继承语法格式类似: class InterfaceImplementer : IMyInterface 继承接口后,我们需要实现接口的方法 MethodToImplement...---- 接口继承: InterfaceInheritance.cs 以下实例定义了两个接口 IMyInterface 和 IParentInterface。...如果一个接口继承其他接口,那么实现类或结构就需要实现所有接口的成员。

59120
  • C#3.0新增功能04 扩展方法

    你将注意到,标准查询运算符现在作为可供大多数 IEnumerable 类型使用的附加方法显示在 IntelliSense 中。...在编译时绑定扩展方法 可以使用扩展方法来扩展类或接口,但不能重写扩展方法。 与接口或类方法具有相同名称和签名的扩展方法永远不会被调用。 编译时,扩展方法的优先级总是比类型本身中定义的实例方法低。...静态类 Extensions 包含为任何实现了 IMyInterface 的类型定义的扩展方法。 类 A、B 和 C 都实现了该接口。...6 { 7 // 实现 IMyInterface 接口的任何类都必须定义与以下签名匹配的方法 8 void MethodB(); 9 }...只要有可能,必须扩展现有类型的客户端代码都应该通过创建从现有类型派生的新类型来达到这一目的。 有关详细信息,请参阅继承。

    50620

    ASP.NET AJAX(6)__Microsoft AJAX Library中的面向对象类型系统命名空间类类——构造函数类——定义方法类——定义属性类——注册类类——抽象类类——继承类——调用父类方

    _mymethod=function{throw Error.notImplemented();}}//包含抽象方法 类——继承 调用父类的构造函数 有父类的类必须调用父类的构造函数,否则会丢失继承效果...Employee的三个类 接口 与类的定义方法大致相同 构造函数抛出异常 所有的方法抛出异常(只有方法签名,不提供实现) 注册接口时使用registerInterface方法 接口无法继承其他接口 接口定义...”); 接口实现 在使用registerClass方法注册类时候可以传入额外的参数来实现接口 MyNamespace.MyClass.registerClass("MyNamespace.IMyInterface...",null,IMyInterface1,IMyInterface1,…); 一个关于接口的示例 同样,还是修改Employee.js文件 /// 的对象的继承层次结构中,或者如果当前 Type 是 object 支持的接口,则为 true Type.isClass Type.isInterface Type.isNamespace

    6.2K50

    扩展方法必须在非泛型静态类中定义

    说明 尽管标准查询运算符没有显示在 String 的 IntelliSense 中,但它们仍然可用。 在编译时绑定扩展方法 可以使用扩展方法来扩展类或接口,但不能重写扩展方法。 ...与接口或类方法具有相同名称和签名的扩展方法永远不会被调用。 编译时,扩展方法的优先级总是比类型本身中定义的实例方法低。 ...下面的示例演示编译器如何确定要绑定到哪个扩展方法或实例方法。 示例 下面的示例演示 C# 编译器在确定是将方法调用绑定到类型上的实例方法还是绑定到扩展方法时所遵循的规则。 ...静态类 Extensions 包含为任何实现了 IMyInterface 的类型定义的扩展方法。 类 A、B 和 C 都实现了该接口。...只要有可能,必须扩展现有类型的客户端代码都应该通过创建从现有类型派生的新类型来达到这一目的。 有关详细信息,请参阅继承(C# 编程指南)。

    1.9K10

    ☀️ 学会编程入门必备 C# 最基础知识介绍(六)——接口、命名空间、预处理指令、正则表达式、异常处理、文件的输入与输出

    接口定义了所有类继承接口时应遵循的语法合同。 接口定义了语法合同 “是什么” 部分,派生类定义了语法合同 “怎么做” 部分。 接口定义了属性、方法和事件,这些都是接口的成员。...接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。 接口使得实现接口的类或结构在形式上保持一致。...接口,接口的实现与类的继承语法格式类似: class InterfaceImplementer : IMyInterface 继承接口后,我们需要实现接口的方法 MethodToImplement...---- 接口继承: InterfaceInheritance.cs 以下实例定义了两个接口 IMyInterface 和 IParentInterface。...如果一个接口继承其他接口,那么实现类或结构就需要实现所有接口的成员。

    1.4K30

    c# 协变和逆变的理解

    其实很好理解,子类必然具有相同或更多的属性和方法,所以转换成属性和方法可能更少的父类,只需要去除自身的部分属性和方法即可,这对编译器而言是可行的。反之,你怎么要求编译器为父类增加更多的成员呢。...数组也继承了这一特性,对于一个string[]类型而言 理解了上述概念后,让我们来看看协变和逆变的概念,这里我们只谈谈关于接口可变性中的一些内容。以下我简单给出一个接口及其实现。...public interface IMyInTerface { T Method1(); void Method2(T t); } public class MyClass...也就是说,即使你想这么做,一旦你用了微软提供的 IEnumerable 等接口,你也无法进行错误的类型转换了。...所以归根到底,协变和逆变只是一种约束而已,这种规范限制了你的泛型接口中要么只能有将类型参数当作返回值的协变相容方法(加了 out 关键字),要么只能有将类型参数当作输入值的逆变相容方法(加了 in 关键字

    1.5K60

    C Sharp(十)

    C Sharp(十) 發佈於 2018-11-10 这一篇,我们再回来说说最后一种类型: 接口(interface)。 什么是接口 接口是指定一组函数成员而不实现他们的引用类型。...接口声明不能包含数据成员和静态成员 接口只能包含如下非静态成员: 方法 属性 事件 索引器 接口应该以大写字母 I 开始 public interface IMyInterface {...//注意: 接口函数成员不能有访问修饰符 int DoStuff(int val); } 实现接口 要实现接口: 与继承类似,类或结构后跟冒号,再跟接口名 为每一个接口成员提供实现...注意: 如果有继承,并实现接口,基类名必须出现在接口之前: class Derived : BaseClass, IIfc1, IIfc2 { //... } 实现多个接口 类或结构可以实现任意数量的接口...所有实现的接口,必须列在基类列表以逗号分隔 接口可以继承接口 与类的继承不同,接口可以多继承。

    55330

    数据结构与算法2016-06-03

    另外可以在任何时候通过开发附加接口和实现来添加新的功能。 关于接口的很重要的概念是接口只包含成员定义,不包含成员的实现。接口仅仅是一个包含着一组虚方法的抽象类型。...成员的实现需要在继承的类或者结构中实现。接口的成员包括静态方法、索引器、常数、事件以及静态构造器等,不包含任何实例资源或实例构造器,所以,不能实例化一个接口。...(6)IList接口 IList接口实现是可被排序且可按照索引访问其成员的值的结合,如ArrayList类。...接口是完全抽象的成员集合,不提供实现,类或者结构可以继承多个接口。接口最适合为不相关的类提供通用功能。如果要设计小而简练的功能块,则使用接口。...如果类或结构要实现的是单个接口,可以使用隐式实现,如果类或者结构继承了多个接口,那么接口中相同名称成员就要显式实现。显示实现是通过使用接口的完全限定名来实现接口成员的。

    30220

    《你必须知道的.NET》读书笔记一:小OO有大智慧

    二、继承   (1)继承的分类:实现继承与接口继承   (2)继承的本质:面向对象中类与类之间的一种关系;继承的类称为子类、派生类;而被继承类称为父类、基类或超类;通过继承,使得子类具有父类的属性和方法...,同时子类也可以通过加入新的属性和方法或修改父类的属性和方法建立新的类层次;   (3)实现继承与接口继承的区别: 抽象类适合于有族层概念的类间关系,而接口最适合为不同的类提供通用功能 接口着重于CAN-DO...关系类型,而抽象类则偏重于IS-A式的关系 接口多定义对象的行为;抽象类多定义对象的属性 版本式的问题最好以抽象类来实现 因为值类型是密封的,所以只能实现接口,而不能继承类   (4)面向对象基本原则:...;   (2)分类:基类继承式多态与接口实现式多态;   (3)运行机制:动态绑定(在运行期通过检查虚拟方法表来确定动态关联覆写的方法)   (4)DEMO:多态版万能文件加载器(FileLoader)...接口支持多继承,既可以作用于值类型也可以作用于引用类型 接口不能被实例化,没有构造函数,接口成员被隐式声明为public 禁止为已发布的接口添加新的成员 本章思维导图 ?

    25220

    设计模式- 命令模式(Command Pattern)

    ChangeStockCommand()) .Excute(receiver); } } 命令模式参与者: Command:命令抽象类,声明一个执行操作的接口...Execute,该抽象类并不实现这个接口,所有的具体命令都继承自命令抽象类。...*Command:Command的实现类,定义一个接收者对象与动作之间的请求绑定,调用Receiver的操作,实现Execute方法 Invoker:命令的接收者,将命令请求传递给相应的命令对象,每个*...Command都是一个Invoker的成员 Receiver:命令的接收者,知道如何实施与执行一个请求相关的操作 命令模式适用情形: 将用户界面和行为分离,使两者的开发可以并行不悖。...在Command要增加新的处理操作对象很容易,可以通过创建新的继承自Command的子类来实现。 命令模式可以和Memento模式结合使用,支持取消的操作。 支持日志、请求队列和复合命令。

    48030

    金三银四面试:C#.NET面试题中高级篇3

    IList 接口与List的区别是什么? 2.泛型的主要约束和次要约束是什么? 3. 如何把一个array复制到arraylist里? 4.数组和 list 和 arraylist 的区别? 5....IList 接口与List的区别是什么? IList 泛型接口是 Icollection 接口的子代,并且是所有非泛型列表的基接口。Ilist 实现有三种类别:只读、固定大小、可变大小。...IList 是个接口,定义了一些操作方法这些方法要你自己去实现,当你只想使用接口的方法时,这种方式比较好.他不获取实现这个接口的类的其他方法和字段,有效的节省空间....而 IList IList11 =new List (); 只是想创建一个基于接口IList的对象的实例,只是这个接口是由List实现的。所以它只是希望使用到IList接口规定的功能而已。...C#中,所有异常都继承自System.Exception类,Exception类定义了C#异常应该具有的信息和方法。

    1.5K40

    .NET面试题系列 - IEnumerable的派生类

    主要的几个继承类有IList,IDictionary,LinkedList。...注意C#没有List,只有IList,IList和List。其中第三个继承第二个。第一个是第二个的非泛型版本。ArrayList则继承第一个。...不继承自IList 没有索引器 Dictionary<T, K> 键值对 IDictionary HashTable的泛型版本 IList 索引器 ICollection...部分泛型集合继承此接口 提供索引器 List 索引器 IList 继承了Ilist(以及其他接口) ArrayList的泛型版本 最常用的泛型集合 如果不需要很强的功能,可以考虑用...IEnumerator类型又是一个接口,所以我们还要写一个类,并将这个类继承IEnumerator接口(实现它的2个方法),建立这个类的一个新实例,并传入一个数组(作为迭代的源)作为方法GetEnumerator

    1.7K20

    .net源码分析 – List

    接口 List实现的接口:IList, IList, IReadOnlyList 其实.net framework经过多代发展,List的接口确实是有点多了,添加新功能时为了兼容老功能...先把这些接口捋一下: ? IEnumerator是枚举器接口,拥有枚举元素的功能,成员有Current, MoveNext, Reset,这三个函数可以使集合支持遍历。...IEnumerable是支持枚举接口,实现这接口表示支持遍历,成员就是上面的IEnumerator。...List不是线程安全,需要我们自己用锁搞定, IsReadOnly也是false, 那为什么要继承IReadOnlyList呢,是为了提供一个转换成只读List的机会,比如有的方法不希望传进来的...其他大部分方法都是通过Array的静态函数实现,不多说,需要注意的是List继承自IList,所以可以转成IList,转之后泛型就没了,如果是List,转成IList的话和IList<object

    73280

    ILRuntime学习

    CLR绑定使跨域调用更快速,绑定后跨域调用的性能能达到slua的2倍左右(从脚本调用GameObject之类的接口) 支持跨域继承 完整的泛型支持 拥有Visual Studio的调试插件,可以实现真机源码级调试...//编写重定向方法对于刚接触ILRuntime的朋友可能比较困难,比较简单的方式是通过CLR绑定生成绑定代码,然后在这个基础上改,比如下面这个代码是从UnityEngine_Debug_Binding...可以选择性的对经常使用的CLR接口进行直接调用,从而尽可能的消除反射调用开销以及额外的GC Alloc CLR绑定会生成较多C#代码,最终会增大包体和Native Code的内存耗用,所以只添加常用类型和频繁调用的接口即可...__domain = __intp.AppDomain; var ptr = __esp - 1; //成员方法的第一个参数为this GameObject instance...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.1K30

    UE4 反射系统详细剖析

    另一个是IMyInterface类,什么都不继承。 对于反射系统来说,一个接口和一个类的区别,主要有三点: 接口类是abstract类不能实例化。这点可以通过设置ClassFlag来设置。...因为接口是存在多继承的,一个类有可能继承多个接口。如果每个接口都是UObject,会出现菱形继承的情况。...而菱形继承 会大大扩张虚表的大小,而且会造成二义性,调用基类的函数需要显示声明,这肯定是不现实的。 这个时候,UINTERFACE用两个类来实现,就可以避免菱形继承的问题。...外部类如果要继承接口的话,只能继承IMyInterface类。...} }; 因为接口是使用多继承,因此需要通过指针偏移,来根据**Obj + Offset**来获取接口地址调用接口函数。

    10.9K30
    领券