草庐IT

A_INTERFACE

全部标签

c# - 如何在接口(interface)中的方法上使用 await

当使用await关键字针对一个接口(interface)(由于模拟、远程处理或类似的)实现时,并且具有一个带有返回Task的方法的接口(interface):interfaceIFoo{TaskCalculateFaculty(intvalue);}编译器出现错误:The'await'operatorcanonlybeusedwithinanasyncmethod.Considermarkingthismethodwiththe'async'modifierandchangingitsreturntypeto'Task'考虑到返回类型是“任务”,这有点不寻常。这个问题有点令人沮丧,并迫

c# - System.Diagnostics.Debug 类是否有 TextWriter 接口(interface)?

我经常对System.Diagnostics.Debug.Write/WriteLine方法感到沮丧。我想使用TextWriter类熟悉的Write/WriteLine方法,所以我经常写Debug.WriteLine("#entries{0}forconnection{1}",countOfEntries,connection);这会导致编译器错误。我写完了Debug.WriteLine(string.Format("#entries{0}forconnection{1}",countOfEntries,connection));这真的很尴尬。CLR是否有一个派生自TextWriter

c# - System.Diagnostics.Debug 类是否有 TextWriter 接口(interface)?

我经常对System.Diagnostics.Debug.Write/WriteLine方法感到沮丧。我想使用TextWriter类熟悉的Write/WriteLine方法,所以我经常写Debug.WriteLine("#entries{0}forconnection{1}",countOfEntries,connection);这会导致编译器错误。我写完了Debug.WriteLine(string.Format("#entries{0}forconnection{1}",countOfEntries,connection));这真的很尴尬。CLR是否有一个派生自TextWriter

C# 编译器提示抽象类没有实现接口(interface)?

我有一个很好的接口(interface),我想在一个基类中实现它的一个成员,这样客户就可以从基类派生并且可以编写更少的样板。但是,即使声明为抽象,编译器也会提示该类未实现接口(interface)?!?这应该如何完成?有问题的代码:publicinterfaceITaskDefinition{ITaskCreateTask(TaskIdid);stringName{get;}boolHasName{get;}}publicabstractclassTaskDefinitionBase:ITaskDefinition{privatestringname_=null;publicvoidS

C# 编译器提示抽象类没有实现接口(interface)?

我有一个很好的接口(interface),我想在一个基类中实现它的一个成员,这样客户就可以从基类派生并且可以编写更少的样板。但是,即使声明为抽象,编译器也会提示该类未实现接口(interface)?!?这应该如何完成?有问题的代码:publicinterfaceITaskDefinition{ITaskCreateTask(TaskIdid);stringName{get;}boolHasName{get;}}publicabstractclassTaskDefinitionBase:ITaskDefinition{privatestringname_=null;publicvoidS

c# - 在不考虑泛型类型参数的情况下检查类型是否实现了泛型接口(interface)

我有一个界面publicinterfaceMyInterface{}实现无关紧要。现在我想检查给定类型是否是该接口(interface)的实现。此方法失败publicclassMyClass:MyInterface{}但是我不知道怎么检查。publicvoidCheckIfTypeImplementsInterface(Typetype){varresult1=typeof(MyInterface).IsAssignableFrom(type);-->falsevarresult2=typeof(MyInterface).IsAssignableFrom(type);-->true}我

c# - 在不考虑泛型类型参数的情况下检查类型是否实现了泛型接口(interface)

我有一个界面publicinterfaceMyInterface{}实现无关紧要。现在我想检查给定类型是否是该接口(interface)的实现。此方法失败publicclassMyClass:MyInterface{}但是我不知道怎么检查。publicvoidCheckIfTypeImplementsInterface(Typetype){varresult1=typeof(MyInterface).IsAssignableFrom(type);-->falsevarresult2=typeof(MyInterface).IsAssignableFrom(type);-->true}我

c# - C# 接口(interface)的非公共(public)成员

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion在C#中,当您实现一个接口(interface)时,所有成员都是隐式公开的。如果我们可以指定可访问性修饰符(protected、internal,当然private除外),那不是更好吗?或者我们应该只使用一个抽象类代替?

c# - C# 接口(interface)的非公共(public)成员

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion在C#中,当您实现一个接口(interface)时,所有成员都是隐式公开的。如果我们可以指定可访问性修饰符(protected、internal,当然private除外),那不是更好吗?或者我们应该只使用一个抽象类代替?

c# - 为什么在 C# 接口(interface)名称前加上 “I”

此命名约定背后的基本原理是什么?我没有看到任何好处。额外的前缀只会污染API。我的想法与Konrad的一致response与此相关question;选择answer其中大部分是我在这里要求的。 最佳答案 它完全相反,命名约定清楚地标识了一个接口(interface)。例如,如果您有:publicclassDog:IPet,IMammal{....仅通过阅读,我就可以有把握地假设IPet和IMammal可能是接口(interface)。.NETCLR允许单类继承。所以,如果我有一个基类……我只能从它继承一个类。让我们将IPet接口(i