草庐IT

midi-interface

全部标签

c# - 在 Visual Studio 2005/2008 中实现接口(interface)时删除 automatic#region/#endregion 标记

当用户使用“ImplementIntefaceX”上下文菜单功能时,插入的代码会被包围#region[interfacename]Members#endregion一对。我总是最终删除它,有没有办法可以永久关闭它?我快速搜索了snippets目录,但不确定这是否是正确的地方。我想我可以修改pp_region.snippet,但我感觉会完全关闭#region/#endregion。我想在我开始做一些让我重新安装VS的事情之前先在这里问一下... 最佳答案 您可以通过工具/选项将其关闭然后,在选项窗口中,选择“文本编辑器”,然后选择您选

c# - 如何将 List<interface> 转换为 List<concrete>?

我有一个接口(interface)定义为:publicinterfaceMyInterface{objectfoo{get;set;};}和一个实现该接口(interface)的类:publicclassMyClass:MyInterface{objectfoo{get;set;}}然后我创建一个返回ICollection的函数,如下所示:publicICollectionClasses(){Listvalue;Listlist=newList(newMyInterface[]{newMyClass{ID=1},newMyClass{ID=1},newMyClass{ID=1}});v

c# - 如何将 List<interface> 转换为 List<concrete>?

我有一个接口(interface)定义为:publicinterfaceMyInterface{objectfoo{get;set;};}和一个实现该接口(interface)的类:publicclassMyClass:MyInterface{objectfoo{get;set;}}然后我创建一个返回ICollection的函数,如下所示:publicICollectionClasses(){Listvalue;Listlist=newList(newMyInterface[]{newMyClass{ID=1},newMyClass{ID=1},newMyClass{ID=1}});v

c# - 为什么要转换为接口(interface)?

在JesseLiberty的C#编程(第142页)中,他提供了一个将对象转换为接口(interface)的示例。interfaceIStorable{...}publicclassDocument:IStorable{...}...IStorableisDoc=(IStorable)doc;...这样做有什么意义,特别是如果对象的类无论如何都实现了接口(interface)?EDIT1:澄清一下,我感兴趣的是强制转换的原因(如果有的话),不是实现接口(interface)的原因。此外,这本书是他的2001年第一版(基于C#1,因此该示例可能与更高版本的C#不相关)。EDIT2:我在代码

c# - 为什么要转换为接口(interface)?

在JesseLiberty的C#编程(第142页)中,他提供了一个将对象转换为接口(interface)的示例。interfaceIStorable{...}publicclassDocument:IStorable{...}...IStorableisDoc=(IStorable)doc;...这样做有什么意义,特别是如果对象的类无论如何都实现了接口(interface)?EDIT1:澄清一下,我感兴趣的是强制转换的原因(如果有的话),不是实现接口(interface)的原因。此外,这本书是他的2001年第一版(基于C#1,因此该示例可能与更高版本的C#不相关)。EDIT2:我在代码

c# - 为什么从接口(interface)继承的属性会变成虚拟的?

假设我有一个接口(interface)和两个类,其中一个类实现了这个接口(interface):interfaceIAAA{intF1{get;set;}}classAAA1{publicintF1{get;set;}publicintF2{get;set;}}classAAA2:IAAA{publicintF1{get;set;}publicintF2{get;set;}}在AAA2类中,属性F1是从接口(interface)IAAA“继承”(我不确定),然后我使用反射来检查一个属性是否是虚拟的:Console.WriteLine("AAA1whichdoesnotimplement

c# - 为什么从接口(interface)继承的属性会变成虚拟的?

假设我有一个接口(interface)和两个类,其中一个类实现了这个接口(interface):interfaceIAAA{intF1{get;set;}}classAAA1{publicintF1{get;set;}publicintF2{get;set;}}classAAA2:IAAA{publicintF1{get;set;}publicintF2{get;set;}}在AAA2类中,属性F1是从接口(interface)IAAA“继承”(我不确定),然后我使用反射来检查一个属性是否是虚拟的:Console.WriteLine("AAA1whichdoesnotimplement

c# - 网络核心 : register implementation with multiple interfaces and lifestyle Singleton

考虑以下接口(interface)和类定义:publicinterfaceIInterface1{}publicinterfaceIInterface2{}publicclassMyClass:IInterface1,IInterface2{}有没有办法像这样用多个接口(interface)注册一个MyClass的实例:...services.AddSingleton();...并用像这样的不同接口(interface)解析MyClass的单个实例:IInterface1interface1=app.ApplicationServices.GetService();IInterface

c# - 网络核心 : register implementation with multiple interfaces and lifestyle Singleton

考虑以下接口(interface)和类定义:publicinterfaceIInterface1{}publicinterfaceIInterface2{}publicclassMyClass:IInterface1,IInterface2{}有没有办法像这样用多个接口(interface)注册一个MyClass的实例:...services.AddSingleton();...并用像这样的不同接口(interface)解析MyClass的单个实例:IInterface1interface1=app.ApplicationServices.GetService();IInterface

c# - callvirt .NET 指令如何用于接口(interface)?

向某人解释虚拟调度很容易:每个对象都有一个指向表的指针作为其数据的一部分。类上有N个虚方法。每次调用特定方法时,我都会在对象到达时对其进行索引,并调用表中的第i个方法。每个实现方法X()的类都将在相同的第i个索引中具有方法X()的代码。但是我们得到了接口(interface)。并且接口(interface)需要某种形式的扭曲,因为两个都实现相同接口(interface)的非继承类将在表的不同索引中具有虚函数。我在网上搜索过,可以找到很多关于如何实现接口(interface)调度的讨论。有两大类:a)某种哈希表查找对象以找到正确的调度表b)当对象被强制转换为接口(interface)时,