【C# IEnumerable和IEnumerator接口的简单介绍之美】教程文章相关的互联网学习教程文章

C#-与XAML视图模型接口【代码】

我试图创建一个简单的程序,您可以在其中将汽车添加到列表中并查看品牌模型和年份.在我的xaml主窗口中,我有3个文本框来收集用户的信息:<TextBox Text="{Binding NewCar.Model}"/> <TextBox Text="{Binding NewCar.Make}"/> <TextBox Text="{Binding NewCar.Year}"/>然后,用户单击“添加”按钮,该车应添加到列表中:<Button Content="Add" Command="{Binding TouchCommand}" CommandParameter="{Binding NewCar}"/>我已经验证了touc...

C#-接口通用返回类型【代码】

我有希望在接口中捕获的具有类似方法签名的服务器类:namespace MyLibpublic class ClientListpublic ICollection<Client> Fetch() {{//do stuffreturn this.CreateCollection();}private ICollection<Client> CreateCollection(){List<Client> clientList = new List<Client>();// populate listreturn clientList;}public class ProductListpublic ICollection<Product> Fetch() {//do stuffreturn this.CreateCollection();}pri...

c#-无法使用接口确定i => i.Id的序列化信息【代码】

首先,我知道已经有关于此错误消息的问题了,但是我还没有发现任何与在这种类型的查询中使用接口有关的问题. 我目前正在尝试使用C#驱动程序2.0更新MongoDB实体.但是,在尝试构建查询时出现错误(我假设它是代码的Builders< T> .Filter.Eq(i => i.Id,Entity.Id)位),并且我m收到以下错误:Unable to determine the serialization information for i => i.Id.我正在尝试更新以下课??程public interface IEntity {string Id { get; set; } ...

c#-从类中获取泛型参数的类型,该类是从泛型接口继承的【代码】

我有此接口及其实现:public interface IInterface<TParam> {void Execute(TParam param); }public class Impl : IInterface<int> {public void Execute(int param){...} }如何使用typeof(Impl)的反射获取TParam(此处为int)类型?解决方法:您可以使用一些反射:// your type var type = typeof(Impl); // find specific interface on your type var interfaceType = type.GetInterfaces().Where(x=>x.GetGenericTypeDefinition() =...

c#-使用接口对后台线程进行单元测试【代码】

我创建了一个类SenderClass,它将从其构造函数中启动和运行后台工作程序.RunWorker()方法运行的是while(true)循环,该循环将从队列中弹出元素,通过SendMessage()方法发送它们,并休眠一小段时间以允许将新元素添加到队列中. 问题就出在这里:如何测试从队列发送元素的方法,而又不将其暴露给使用类的人呢? 实现方式:public class SenderClass : ISenderClass {private Queue<int> _myQueue = new Queue<int>();private Thread _worke...

在C#中应为通用接口基本类型时,如何传递方法参数?【代码】

假设我有一个定义如下的接口:interface IContract {void CommonMethod(); }然后是从该接口继承的另一个接口,该接口的定义方式如下:interface IContract<T> : IContract where T : EventArgs {event EventHandler<T> CommonEvent; }我的具体问题是,给定实现IContract的任何实例,如何确定IContract< T>如果是,则如何确定IContract< T>的通用类型是什么?无需对每个已知类型的IContract T进行硬编码.我可能会遇到. 最终,我将使用此确...

为什么类可以在C#中实现自己的私有嵌套接口?【代码】

以下代码是可正确编译的有效C#构造.public class Weird : Weird.IWeird {private interface IWeird{} }这可能有什么用途? 编辑:这个问题比这个问题更具体:“ What is a private interface?”.它表明可以从父类型本身实现私有接口,这似乎毫无意义.我能想到的唯一用途是接口隔离的怪异情况,在这种情况下,您希望将父类的实例作为IWeird传递给嵌套的类实例.解决方法:当禁止某些东西的成本高于允许它的成本时,这可能是编译器开发中的...

带有接口混乱的C#通用ClientBase【代码】

ClientBase的C#定义是:public abstract class ClientBase<TChannel> : ICommunicationObject, IDisposable where TChannel : class这清楚地表明了对TChannel类型的类约束.据我所知,这意味着您在声明自己的类时不能使用泛型的接口类型.因此,鉴于这样声明的服务:public IMyService ... public MyService : IMyService ...这应该工作:public MyServiceClient : ClientBase<MyService> 这不应该:public MyServiceClient : ClientBa...

c#-多个接口的装饰器-Autofac中的循环依赖谜语【代码】

我来自Ninject,但我决定尝试一下Autofac,因为它似乎更加活跃.到目前为止,我可以说注册装饰器并不像使用.WhenInjectedExactlyInto语法在Ninject中那样简单.无论如何,因为我是Autofac新手,所以请多多包涵. 这是问题所在: 我具有由A_Decorator装饰的类型A实现接口IA. A_Decorator实现接口IA和IB,并且依次应由同时实现IA和IB的AB_Decorator装饰. AB_Decorator具有IA和IB类型的两个依赖关系(因此,这是两者的装饰器),但是它们都应解析为...

c#-接口类型的代码协定类的命名约定【代码】

我正在使用System.Diagnostics.Contracts命名空间中的Code Contracts类来为我的对象定义一些合同,并且我想知道在针对基本接口定义合同时其他人如何命名其合同类.让我用一个小例子来说明:[ContractClass(typeof(AnimalContract))] public interface IAnimal {// definition here }[ContractClassFor(typeof(IAnimal))] public class AnimalContract : IAnimal {// explicit interface implementation here }在此示例中,我将合同类命...

C#-为仅定义读取的接口实现读/写字段【代码】

我有一个C#2.0应用程序,其中的基本接口允许对具体类中的值进行只读访问.但是,在具体的类中,我希望对该值具有读/写访问权限.所以,我有一个这样的实现:public abstract class Base {public abstract DateTime StartTime { get; } }public class Foo : Base {DateTime start_time_;public override DateTime StartTime{get { return start_time_; }internal set { start_time_ = value; }} }但是,这给了我错误:Foo.cs(200,22): erro...

C#反射从接口获取具体类的静态属性【代码】

我有一个界面:interface IInterface {string Name { get; } }由通用抽象类实现:public class BInterface<T> : IInterface {static BInterface() { // Or anything that would be implementation class specificName = typeof(BInterface<>).GetType().Name; }public static string Name { get; private set; }string IInterface.Name { get { return Name; } } }依次在具体的类中实现:public class CInterface : BInterface<i...

C#-使用反射实例化实现通用接口的类【代码】

我在业务逻辑程序集中具有以下内容:public class BusinessEntity {... }public class Customer : BusinessEntity {... }public interface IEntityManager <T> where T : BusinessEntity {T SaveData(T oData); }public CustomerEntityManager : IEntityManager <Customer> {Customer SaveData(Customer o){...} }由于种种显而易见的原因,我不得不通过反射将我的程序集加载到我的当前项目中,并实例化CustomersEntityManager.想象一...

C#中类的显式接口实现【代码】

有什么可与显式接口实现相媲美的东西,但对于C#中的类而言却没有? 请考虑以下情况: X公司提供了一个包含如下类的库:public class LibraryClass {public virtual void A() { }public void DoWork(){// does something} }Y公司在其产品之一中使用此库,并且继承自LibraryClass:public class UserClass : LibraryClass {public virtual void B() { } }到目前为止,一切正常.但是有一天,X发布了一个新的库版本,并向LibraryClass添加了...

C#-不要移至新创建的方法/类/接口

使用灯泡动作创建Resharper时,它会自动移至新创建的类,方法等.例如,如果我在对象上使用了不存在的方法,Resharper将为我提供创建该方法的可能性.完成后,它将自动打开代码文件并移至新生成的方法. 当以TDD方式创建单元测试时,或者只是在实现一个需要另一个尚不存在的类的类时,跳转到另一个地方会减慢我的编码并打扰我.我可以将Resharper配置为不切换吗?此行为将类似于Visual Studio智能标记,该标记也允许创建方法存根.解决方法:据我...

ENUM - 相关标签