草庐IT

INTERFACE

全部标签

c# - 有用或不重要的双重接口(interface)的例子

最近ErikMeijer和其他人展示了IObservable/IObserver如何成为dualIEnumerable/IEnumerator的。它们是双重的这一事实意味着在一个接口(interface)上的任何操作在另一个接口(interface)上都有效,从而为ReactiveExtentionsfor.Net提供了理论基础。是否存在其他双接口(interface)?我对任何示例都感兴趣,而不仅仅是基于.Net的示例。 最佳答案 另一个例子是TextReader和TextWriter,尽管噪声比可观察对象和可枚举对象的情况还要多

c# - 在不更改接口(interface)返回类型的情况下更改 WCF 中函数的返回类型

我正在为新系统开发具有许多接口(interface)和服务的旧WCF服务。我想在不更改所有服务接口(interface)和实现的情况下更改函数的返回类型,如下所示:interfaceOperationResult{ErrorInfoError{get;set;}}interfaceOperationResult:OperationResult{TResultResult{get;set;}}//oldserviceinterfaceIService{intTestMethod1(TestMethod1Inputinput);voidTestMethod2(TestMethod2Inpu

c# - 为什么不将所有服务类都集中到一个工厂方法中(而不是注入(inject)接口(interface))?

我们正在构建一个ASP.NET项目,并将我们所有的业务逻辑封装在服务类中。有些在域对象中,但通常那些是相当贫乏的(由于我们正在使用的ORM,这不会改变)。为了更好地启用单元测试,我们为每个服务定义接口(interface)并利用D.I.。这里有几个接口(interface):IEmployeeServiceIDepartmentServiceIOrderService...这些服务中的所有方法基本上都是任务组,类不包含私有(private)成员变量(除了对依赖服务的引用)。在我们担心单元测试之前,我们只是将所有这些类声明为静态的,并让它们直接相互调用。现在,如果服务依赖于其他服务,我们

c# - ILog 还是 ILogger?

我应该使用ILog还是ILogger接口(interface)?我发现ILog接口(interface)更易于使用,因为我可以通过调用为每个类声明一个实例:privateILog_logger=LogManager.GetLogger(typeof(MyClass));这是一个比ILogger简单得多的接口(interface):voidLog(TypecallerStackBoundaryDeclaringType,Levellevel,objectmessage,Exceptionexception)有区别吗?什么时候使用一种比另一种更好? 最佳答案

c# - COM接口(interface)指南

我不太了解COM接口(interface),所以我有一个小问题,假设我有这段代码:[Guid("148BD528-A2AB-11CE-B11F-00AA00530503"),InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]internalinterfaceIEnumWorkItems{[PreserveSig()]intNext([In]uintRequestCount,[Out]outSystem.IntPtrNames,[Out]outuintFetched);voidSkip([In]uintCount);voidReset

c# - MVC 模式差异

我只需要一些指向我可以阅读的文章的链接,或者一些关于MVC(C#)中使用的不同模式的基本解释。目前我倾向于使用View模型模式来构建我的网络应用程序。对于每个View,我都有一个View模型。我喜欢这种方法纯粹是因为模型中可能有很多不需要的垃圾,我可以在这里使用一些基本的数据注释。我现在还在View模型本身内构建我的View模型(不确定这是否正确?)这样我就可以让我的Controller尽可能简单。但有时我发现自己在我的Controller中添加了很多逻辑,我认为这对我来说也很好,这就是Controller的用途。现在,正如我所说,基于以上内容,我可以非常愉快地构建我的应用程序,而不会

c# - 从接口(interface)强制执行可序列化而不强制类在 C# 中自定义序列化

我有一个接口(interface),它定义了我希望某些类实现的一些方法。publicinterfaceIMyInterface{MethodA;MethodB;}此外,我希望所有实现此接口(interface)的类都是可序列化的。如果我更改接口(interface)定义以实现ISerializable,如下所示...:publicinterfaceIMyInterface:ISerializable{MethodA;MethodB;}...据我所知,所有类现在都必须显式实现序列化,因为如果您实现ISerializable,则必须实现GetObjectData成员(以及反序列化所需的构造

c# - 通过 C# 中的 COM RCW 对象检测跨线程编码

我正在处理大量COM互操作的大型多线程C#应用程序中工作。其他开发人员和我有足够的机会不小心调用Single-ThreadedApartment(STA)来自MTA线程的COM对象,以及来自它们不是在其上创建的STA线程的COM对象。性能低下,跨线程编码是主要嫌疑人。是否有测试跨公寓编码的好方法?更好的是,是否有一种防御性编程技术来测试给定的COM对象是否属于该线程的单元?我最接近的是在可疑代码周围放置一个断言语句:Debug.Assert(Thread.CurrentThread.GetApartmentState()==ApartmentState.STA);suspiciousC

c# - 为什么 IList<>.Reverse() 不像 List<>().Reverse 那样工作

我对List.Reverse()有疑问和Reverse(thisIEnumerablesource).查看代码://Part1Listlist=newList{1,2,3};foreach(intxinlist)Console.Write(x);Console.WriteLine();list.Reverse();foreach(intxinlist)Console.Write(x);Console.WriteLine();list.Reverse();//Part2IListilist=list;foreach(intxinlist)Console.Write(x);Console.

c# - Entity Framework 中的类和接口(interface)层次结构?

我有两个相关的类,它们共享一个公共(public)接口(interface)并且都存储在同一个基础数据库表中。但是,EntityFramework生成一个公共(public)类,而我确实需要两个不同的类。我该如何解决这个问题?最好使用基类而不是接口(interface)吗?如何更改EF模型以提供映射到一张表上的两个类?编辑:AccountType属性决定类的类型;用户或组。一些简单的代码:publicinterfaceIAccount{stringName{get;set;}AccountTypeAccountType{get;set;}}publicclassGroupAccount