【c# – 使用具有流畅接口的类型推断】教程文章相关的互联网学习教程文章

c# – 使用接口创建对象【代码】

在C#中,我们可以继承多个接口.在这种情况下,如果创建了一个对象,它只是隐藏属性或方法,还是编译器会避免创建和内存分配给其他接口的那些?例如,我有两个接口和一个类如下interface IExample1{void E1Test1();void E1Test2();}interface IExample2{void E2Test1();void E2Test2();}class Example : IExample1, IExample2{public void E1Test1(){throw new NotImplementedException();}public void E1Test2(){throw new NotImplement...

c# – 如何将接口的隐式转换写入另一种类型?【代码】

我想尝试做类似下面的事情:public class SomeWrapper : ISomeWrapper{public static implicit operator ActualRec(ISomeWrapper someWrapper){return ((SomeWrapper)someWrapper).SomeInfo;} }但是这段代码失败了,说:“参数或返回类型必须是SomeWrapper类型”. 我理解编译正在陈述的问题.但是我需要这种类型的转换,因为在我的应用程序中我使用ISomeWrapper作为变量,存储SomeWrapper实例. (另外,SomeWrapper是唯一实现ISomeWrappe...

c# – 如何获取接口成员列表【代码】

有没有办法获得接口成员列表?我知道System.Reflection.MemberInfo,但它包含对象中的所有内容,而不仅仅是某个接口. 这是程序,我不知道如何获得界面,因为我没有写它,但它是Ascom标准(http://ascom-standards.org)的一部分.public static void Test1() {Console.WriteLine("mark1"); // this shows up...var type = typeof(Ascom.Interface.ITelescope);var members = type.GetMembers();Console.WriteLine(members.Count); // gives...

c# – WCF:如何在单独的项目中将实现逻辑转换为契约接口?【代码】

就像标题所说的那样,我希望将我的逻辑保存在与服务合同相关的单独项目中,这样就可以保持独立和隐藏.我已经看到它说可以做到这一点,但我找不到任何关于如何做的例子. 我将所有必要的代码移到了另一个项目中,但是当我测试它时,只有类型对客户端可见,而不是方法. 所有方法都在界面中标记为[OperationContract]. 我猜测必须有一种方法将实现逻辑专门连接到合同而不仅仅是Class:IInterface,否则,如果有2个类似的类会发生什么,例如:Cla...

c# – 我只需要实现接口的一些方法【代码】

在我的项目中有一个界面.在界面中有很多方法.我们公司的其他开发人员继承了某些类的接口并实现了我需要实现的所有方法天气.那个时候我遇到了一些错误. “不实现接口成员”.我怎么解决这个问题?例如:-public interface IComplianceRepository{IList<ComplianceModel> LoadComplianceModel(Guid userId);bool CreateCompliance(ComplianceModel complianceModel);IList<ComplianceType> LoadComplianceType();IList<ComplianceStat...

c# – 如何通过多个接口“携带”协方差【代码】

我有一个看起来像这样的接口结构: 在最基本的级别是具有此定义的IDataProducer:public interface IDataProducer<out T> {IEnumerable<T> GetRecords(); }和一个看起来像这样的IDataConsumer:public interface IDataConsumer<out T> {IDataProducer<T> Producer { set; } }最后,我有一个像IDataConsumer这样的IWriter:public interface IWriter<out T> : IDataConsumer<T> {String FileToWriteTo { set; }void Start(); }我想制...

c# – 接口中的通用列表【代码】

我正在尝试实现一个包含对象列表的接口类.如何使列表通用,以便实现类定义列表的类型:public interface IEntity {Guid EntityID { get; set; }Guid ParentEntityID{ get; set; }Guid RoleId { get; set; }void SetFromEntity();void Save();bool Validate();IQueryable<T> GetAll(); // That is what I would like to doList<Guid> Search(string searchQuery); } public class Dealer : IEntity {public IQueryable<Dealer> GetAl...

Java2C#translation:C#中接口的公共方法【代码】

另一个翻译问题,这可能更具理论性,但我对设计选择感到好奇. SFNQ: 为什么C#不允许控制访问Java等接口中的方法?例如,在C#界面中:public void Visit(Axiom axiom);谢谢.解决方法:在C#和Java中,接口上的所有方法都是公共的. 在Java中,允许使用public关键字,可能会节省解析规则.在C#中,public关键字被认为是冗余的,并且完全从接口声明中删除.

C#接口和通用列表【代码】

我有一个接口定义为:namespace RivWorks.Interfaces.DataContracts {public interface IProduct{[XmlElement][DataMember(Name = "ID", Order = 0)]Guid ProductID { get; set; }[XmlElement][DataMember(Name = "altID", Order = 1)]long alternateProductID { get; set; }[XmlElement][DataMember(Name = "CompanyId", Order = 2)]Guid CompanyId { get; set; }...[XmlElement][DataMember(Name = "buttonPositionCSS", Order =...

C# – 返回接口的方法【代码】

我对返回接口的方法的概念有点困惑.是否有一篇文章或参考文献详细讨论了这个问题?我很困惑你何时/为什么要这样做,以及如何将接口转换为与之关联的对象(我认为是正确的).解决方法:I’m confused on when/why you might want to do this,当你想要从具体的实现(它是如何做的)中分离出应该做什么的契约时,返回一个接口是很好的.拥有一个接口可以让您更轻松地重用和修改代码. 如果你有一个接口IFoo和一个以简单的方式实现IFoo的实现Sim...

c# – 接口方法返回类型是实现接口的类【代码】

我无法理解界面.在这里搜索了类似的问题后,我想出了以下界面,用于定义所有类所需的CRUD操作:public interface IData<T> {IData<T> Select(int id);List<T> SelectMultiple();void Insert();void Update();void Delete(); }然后在我的部分类中实现:public partial class Post : IData<Post> {public IData<Post> Select(int id){MyDataContext dc = MyDataContext.Create();return dc.Posts.Single(p => p.PostID == id);}public ...

c# – 为什么要实现IEquatable接口【代码】

我一直在阅读文章并理解一定程度的接口,如果我想改正我自己的自定义Equals方法,似乎我可以在不实现IEquatable接口的情况下做到这一点.一个例子.using System; using System.Collections; using System.ComponentModel;namespace ProviderJSONConverter.Data.Components {public class Address : IEquatable<Address>{public string address { get; set; }[DefaultValue("")]public string address_2 { get; set; }public string ci...

c#绑定到和接口时向下转换【代码】

是否有更好的方法将基类列表绑定到除了向下转换之外的UI,例如:static void Main(string[] args) {List<Animal> list = new List<Animal>(); Pig p = new Pig(5); Dog d = new Dog("/images/dog1.jpg"); list.Add(p); list.Add(d); foreach (Animal a in list) { DoPigStuff(a as Pig); DoDogStuff(a as Dog); } } static void DoPigStuff(Pig p) {if (p != null) { label1.Text = String.Format("The pigs tail is {...

c# – 依赖注入(DI)依赖于接口吗?【代码】

对大多数人来说这似乎是显而易见的,但我只是想确认依赖注入(DI)依赖于接口的使用. 更具体地说,对于在其构造函数中具有某个接口作为参数的类或者定义为属性(也称为Setter)的某个接口的情况,DI框架可以移交具体类的实例以满足需要该类中的接口. (如果这个描述不清楚,请道歉.我无法正确描述这一点,因为术语/概念对我来说仍然有点新鲜.) 我问的原因是我目前有一个具有各种依赖性的类.不是对象依赖,而是URL.这个类看起来像这个[C#]:usi...

c# – FxCop说我应该返回一个通用列表接口而不是字节数组.我是不是该?

我正在编写一个库而不是从EventArgs派生中返回一个字节数组,它说我应该返回类似IList或ReadOnlyCollection的东西. 通常情况下,我会全力以赴,但大多数现有.NET Framework使用字节数组而不是通用列表接口. 因此,如果我使用IList,那么在访问eventargs时,如果客户想要调用File.WriteAllBytes,他或她将不得不使用System.Linq;并调用ToArray扩展方法以字节数组的形式获取IList.当然还有其他方法可以做到这一点,但这是最优雅和典型的. 这个...