首页
学习
活动
专区
工具
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

80220

C# 接口(Interface)

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

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

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

    50020

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

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

    1.9K10

    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文件 /// <reference name="MicrosoftAjax.js.../如果当前 Type 在 object 表示<em>的</em>对象<em>的</em><em>继承</em>层次结构中,或者如果当前 Type 是 object 支持<em>的</em><em>接口</em>,则为 true Type.isClass Type.isInterface Type.isNamespace

    6.2K50

    ☀️ 学会编程入门必备 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 { //... } 实现多个接口 类或结构可以实现任意数量接口...所有实现接口,必须列在基类列表以逗号分隔 接口可以继承接口 与类继承不同,接口可以多继承

    53830

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

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

    30220

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

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

    25120

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

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

    47530

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

    主要几个继承类有IList,IDictionary,LinkedList。...注意C#没有List,只有IListIList和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

    72980

    金三银四面试: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.4K40

    ILRuntime学习

    CLR绑定使跨域调用更快速,绑定后跨域调用性能能达到slua2倍左右(从脚本调用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.5K30

    c# 基础语法

    这实际上并没有定义任何数据,但它定义了类名称意味着什么,也就是说,类对象由什么组成及在这个对象上可执行什么操作。对象是类实例。构成类方法和变量称为类成员。...继承是面向对象程序设计中最重要概念之一。...当创建一个类时,程序员不需要完全重新编写新数据成员成员函数,只需要设计一个新类,继承了已有的类成员即可。这个已有的类被称为基类,这个新类被称为派生类。...} class boxx :Box { } } } 多态 C# 允许您使用关键字 abstract 创建抽象类,用于提供接口部分类实现...namespace ConsoleApp1 { interface IMyInterface { // 接口成员 void MethodToImplement

    56920
    领券