interface相关内容

如何判断方法返回的是哪个接口

鉴于此代码片段可以轻松粘贴到 Linqpad(或在 Visual Studio 控制台解决方案中稍作修改): void Main(){var cat = this.GetCat();var dog = this.GetDog();cat.Think();cat.ThinkHarder();//dog.Think();//不编译.//dog.ThinkHarder();//不编译.//if ([d ..
发布时间:2021-12-31 14:42:11 C#/.NET

Java - 接口,实例化一个接口?

所以我刚刚在网上找到了这个代码示例,我再次回顾它但很困惑. 从观察来看,我收集到的(可能是错误的)是它传递给 NumberPrinter 类中的打印方法一个打印机对象.不过接口也叫Printer,那我们不就是实例化一个Printer接口的匿名类,定义方法然后传递吗? 我的基本问题是,我最初的假设是否正确?如果是这样,我认为您无法实例化接口? 公共类 NumberPrinter {公共 ..
发布时间:2021-12-31 14:42:02 Java开发

部分类中的接口实现问题

我有一个关于 L2S、自动生成的 DataContext 和部分类的使用问题的问题.我已经抽象了我的数据上下文,对于我使用的每个表,我正在实现一个带有接口的类.在下面的代码中,您可以看到我有接口和两个部分类.第一个类只是为了确保自动生成的数据上下文中的类继承接口.另一个自动生成的类确保实现接口中的方法. 命名空间 PartialProject.objects{公共接口 接口{接口实例 { get ..
发布时间:2021-12-31 14:41:53 C#/.NET

为什么 C#(或 .NET)不允许我们在接口中放置静态/共享方法?

为什么 C#(或 .NET)不允许我们在接口中放置静态/共享方法? 看似重复来自 这里.但我的想法有点不同,我只想为我的插件(接口)添加一个助手 C# 至少不应该允许这个想法吗? 命名空间 MycComponent{公共接口 ITaskPlugin : ITaskInfo{字符串 描述 { 获取;}字符串 MenuTree { 获取;}字符串 MenuCaption { 获取;}vo ..
发布时间:2021-12-31 14:41:45 C#/.NET

Java 8 默认方法继承

假设有以下类型: public interface Base {默认无效 sayHi(){System.out.println("你好来自基地");}}公共接口 Foo 扩展了 Base {@覆盖默认无效 sayHi(){System.out.println("hi from foo");}}公共接口 Bar 扩展 Base {}公共类 MyClass 实现 Foo, Bar {公共静态无效主( ..
发布时间:2021-12-31 14:41:38 Java开发

如何对基本接口方法进行适当的反射

我通过反射研究了 2 个接口和 2 个类: 父母 IChild - 派生自 IParent 父母 Child - 派生自 Parent 对我来说奇怪的是,当我查看 IChild 类型的反射时,我没有找到 IParent 方法. 应用于 Child 类型的相同代码按预期工作 - 反射显示 Parent 方法. interface IParent{无效的父方法();}接口 I ..
发布时间:2021-12-31 14:41:24 C#/.NET

C# 接口——只在其他接口中实现一个接口

我只想在其他接口中实现某些接口,我不希望它们能够被类直接继承. 提前致谢! 解决方案 你不能在 C# 中这样做 - 任何类都可以实现它有权访问的任何接口. 你为什么要这样做?请记住,通过声明接口继承: 公共接口 InterfaceA {}公共接口 InterfaceB : InterfaceA {} 您指定任何实现 InterfaceB 的东西也必须实现 Interface ..
发布时间:2021-12-31 14:41:17 C#/.NET

无法通过引用转换、装箱转换、拆箱转换、包装转换或空类型转换来转换类型

在 C# 中,如果我有一个参数类型为接口的函数的参数,如何传入实现该接口的对象. 这是一个例子: 函数的参数如下: List 我已有的列表如下: List示例列表 CustomObject 继承自 ICustomRequired 接口 将 exampleList 作为参数传递的正确语法是什么? 这就是我想完成上述任务的方式: exampleList as List ..
发布时间:2021-12-31 14:41:11 C#/.NET

从基类继承的接口是否应该在子类中显式实现?

我的问题是,如果通过扩展已经实现它的类隐式实现的接口应该由该类显式实现,如果该类想要宣传它履行该接口的契约的事实. 例如,如果您想编写一个类,它满足接口java.util.List 的约定.你实现这个,扩展类java.util.AbstractList,它已经实现了接口List.您是否明确声明,您实现了 List? public class MyList extends AbstractL ..
发布时间:2021-12-31 14:40:47 Java开发

Java 8 和 Bean Info Introspector 接口中的默认方法

我对 Interface 和 BeanInfo Introspector 中的默认方法有一点问题.在这个例子中,有接口:Interface 公共静态接口接口{默认公共字符串 getLetter() {返回“A";}} 和两个类 ClassA 和 ClassB: 公共静态类 ClassA 实现接口 {}公共静态类 ClassB 实现接口 {公共字符串 getLetter() {返回“B";}} ..
发布时间:2021-12-31 14:40:38 Java开发

如何将 DataTemplate 数据类型绑定到接口?

我正在编写一个复合松散耦合的 MVVM WPF 应用程序,父 VM 中的子 VM 是接口而不是类实例,例如 public IChildViewModel { get;放;} 现在如何使用 DataTemplate 呈现此属性?喜欢: 我理解由于接口的性质(多重继承等),WPF 不允许这种直接绑定.但是由于接口应该广泛用于松散耦合的应用程序中,是否有任何解决方法可以将 DataTempla ..
发布时间:2021-12-31 14:40:32 其他开发

如何从其父接口获取派生类的实际类型

假设我们有一个这样的代码部分: IProduct product = ProductCreator.CreateProduct();//我们这里有工厂方法SellThisProduct(产品);//...private void SellThisProduct(IProduct 产品){//.. 在这里做点什么}//...内部类苏打水:IProduct{}内部类图书:IProduct{} 如何 ..
发布时间:2021-12-31 14:40:13 C#/.NET

使用接口进行通信的两个独立类

是否可以通过实现一个接口让两个独立的类进行通信,如果可以,如何实现? 解决方案 我认为这里使用接口有点极端,但我认为这是对更大问题的简化 public interface SomeInterface {public void giveString(String string);公共字符串 getString();} 公共类 Class1 实现 SomeInterface{字符串字符串; ..
发布时间:2021-12-31 14:40:04 Java开发

C#中接口成员的访问修饰符

我收到来自以下属性的编译错误. 错误是: “修饰符‘public’对此项无效" public System.Collections.Specialized.StringDictionary IWorkItemControl.Properties{获取 { 返回属性;}设置 { 属性 = 值;}} 但是如果我删除 IWorkItemControl 它编译正常. 为什么我会收到这个错 ..
发布时间:2021-12-31 14:39:51 C#/.NET

如何获取在 Locals 窗口中实现接口的类的属性值?

这真的很困扰我并阻碍了我的开发/调试.每当我声明我正在实现的接口的变量类型时,本地窗口不会显示它的属性值.相反,它只是读取 对象不支持此属性或方法 这很愚蠢,因为它确实如此.事实上,它必须来履行它与接口的合同. 如果我将变量声明为接口的具体实现,则窗口会按预期工作.然而,这完全违背了对抽象进行编码的目的. 如何让本地窗口正确显示类的属性值? 最小、完整且可验证的示例: ..
发布时间:2021-12-31 14:39:42 其他开发

C# 明确定义抛出什么异常

在 Java 中,您可以使用“throws"关键字明确定义抛出哪些异常.这样,任何调用您的方法的人都知道要捕获什么. C# 中有什么东西吗?如果没有,我如何知道要捕获哪些异常,或者如何让其他人知道要捕获哪些异常? 另外,如果我正在定义一个接口,有没有办法说“methodX() 应该在出错时抛出这个异常"? 解决方案 C# 中没有等效的东西:检查异常的问题 除了文档之外,没 ..
发布时间:2021-12-31 14:39:34 C#/.NET

将对象转换为通用接口

我有以下界面: 内部接口IRelativeTo;其中 T : IObject{T getRelativeTo();void setRelativeTo(T relativeTo);} 和一堆(应该)实现它的类,例如: 公共类AdminRateShift : IObject, IRelativeTo{AdminRateShift getRelativeTo();void setRelative ..
发布时间:2021-12-31 14:39:27 C#/.NET