Articles of interfaz

Implementación de la interfaz en C # y VB.NET

Tengo una interfaz definida en C# proyecto C# : public interface IForm { bool IsDisposed { get; } void Show(); } Lo implementé en una clase C# en WinForms public partial class Form1 : Form, IForm { } Como el método Show() y la propiedad IsDisposed ya están presentes en la clase System.Windows.Forms.Form , no […]

En C #, la interfaz puede ser instanciada?

Estoy leyendo el código aquí . Encuentro ese private ITreeModel _model; en TreeList.cs: namespace Aga.Controls.Tree { public class TreeList: ListView { #region Properties //… private ITreeModel _model; public ITreeModel Model { //… } //… } } y ITreeModel es una interfaz en ITreeModel.cs: namespace Aga.Controls.Tree { public interface ITreeModel { /// /// Get list of […]

¿Por qué el modelo de mi vista no puede vincularse con mi ViewModel genérico que implementa una interfaz? (ASP.NET MVC 3)

Estoy tratando de pasar mi vista una instancia del siguiente ViewModel: public class CompanyListViewModel where T : ICompany { public IEnumerable CompanyList; public IEnumerable StateList; public CompanyListViewModel(IEnumerable list) { CompanyList = list; } } Donde la vista lleva algo así: @model Project.ViewModels.CompanyViewModels.CompanyListViewModel Y mi código de controlador pasa algo como esto a la Vista: CompanyListViewModel […]

Cómo llamar a un determinado método de interfaz explícitamente declarado en C #

Tengo una duda sobre cómo llamar al método de interfaz particular (por ejemplo, IA o IB o In …) en el siguiente código. Por favor, ayúdame a llamar. He comentado las líneas de código donde declaro que los métodos de interfaz son “públicos”, en cuyo caso funciona. No sé cómo llamarlo cuando declaro explícitamente 🙁 […]

Cambio de tipo de propiedad en la clase que implementa interfaz con propiedad de tipo de objeto

Estoy escribiendo un TemplateEngine que me permitirá usar mi propio marcado en archivos basados ​​en texto. Estoy deseando agregar controles como complementos a medida que la aplicación madura. Actualmente tengo una estructura como la siguiente: interface IControl string Id object Value class Label : IControl string Id string Value class Repeater : IControl string Id […]

¿Por qué IList . Reverse () no funciona como List (). Reverse

Tengo un problema con la List.Reverse() y Reverse(this IEnumerable source) . Mira el código: // Part 1 List list = new List { 1, 2, 3 }; foreach (int x in list) Console.Write(x); Console.WriteLine(); list.Reverse(); foreach (int x in list) Console.Write(x); Console.WriteLine(); list.Reverse(); // Part2 IList ilist = list; foreach (int x in list) Console.Write(x); […]

El parámetro de tipo ‘T’ tiene el mismo nombre que el parámetro de tipo del tipo externo ‘…’

public abstract class EntityBase { … } public interface IFoobar { void Foo(int x) where T : EntityBase, new(); } public interface IFoobar where T : EntityBase, new() { void Foo(int x); } public class Foobar : IFoobar, IFoobar where T : EntityBase, new() { public void Foo(int x) { … } void IFoobar.Foo(int x) […]

LINQ contra dos contextos de datos diferentes utilizando interfaces

Esta es la continuación de mi pregunta aquí . Breve resumen: tengo dos bases de datos diferentes con cambios mínimos (falta una tabla y las claves externas en una tabla) y quiero que mi utilidad de importación que utiliza Linq-To-Sql pueda llenar ambas bases de datos con datos sin duplicación de la lógica. Mi primer […]

¿Cómo funciona IEnumerable en segundo plano?

Estoy vagando por la funcionalidad más profunda de la IEnumerable . Básicamente, funciona como un paso intermedio en la ejecución. Por ejemplo, si escribes: IEnumerable temp = new int[]{1,2,3}.Select(x => 2*x); El resultado de la función Select no se calculará (enumerará) hasta que se haga algo con temp para permitirlo (como List list = temp.ToList() […]

Agregar contrato a la implementación de la interfaz

Entiendo que no puedo agregar condiciones previas en una implementación de interfaz. Tengo que crear una clase de contrato en la que defino contratos sobre elementos que se ven en la interfaz. Pero en el siguiente caso, ¿cómo se puede agregar un contrato en un estado interno de la implementación que, por lo tanto, no […]