Articles of generics

Parametrizzare un’interfaccia generica – Creare un dizionario <Tipo, Interfaccia >?

Spiacente, il titolo è confuso, non so se l’ho detto giusto, non sono sicuro di cosa si chiami questa cosa … Sentiti libero di modificarlo dopo aver letto la domanda, se vuoi. Sto refactoring il mio vecchio codice quando ho notato che ci sono molti posti in cui potrei usare il modello di strategia. Ho […]

Sovraccarico del metodo generico per IEnumerable ?

Voglio avere due overload di un metodo generico: public ReturnType DoStuff(T thing) {…} public ReturnType DoStuff(IEnumerable things) {…} Il guaio è, naturalmente, che un IEnumerable è di per sé un tipo che corrisponde alla prima firma, quindi quando provo a passare una raccolta a questo metodo, invoca il primo overload. Ovviamente potrei nominare i metodi […]

Metodo asincrono che restituisce l’attività con il vincolo generico in C #

Ho implementato uno schema di comando in un progetto su cui sto lavorando . Questa è praticamente la struttura attuale: public class Response { public bool Success { get; private set; } public static Response CreateErrorResponse() { return new Response { Success = false }; } } public interface ICommand where T : Response { […]

Covariance / Contravariance Conundrum quando si utilizzano i vincoli di interfaccia generici

public interface IShape{} public class Rectangle : IShape{} public class Base{} public class Derived : Base{} public interface IFoo where T : IShape where U : Base { T Convert(U myType); } public class MyFoo : IFoo { public Rectangle Convert(Derived myType) { throw new NotImplementedException(); } } class Program { static void Main(string[] args) […]

Conversione implicita in classi generiche C #

Ho un’applicazione strutturata come un livello di servizio che utilizza un livello di repository per la persistenza. Sto cercando di creare una class controller generica per riutilizzare il comportamento condiviso, ma sto riscontrando problemi nel tentativo di impostare i parametri generici. Il seguente codice: public class BusinessEntity { } public class Person : BusinessEntity { […]

Crea un’istanza di un tipo generico da una stringa

Ho una stringa contenente il nome di una class generica con tipo specificato: string s = “GenericRouteHandler”; Come faccio a istanziare un’istanza da questa stringa? So come istanziare una class concreta usando Type.GetType () e quindi utilizzare Activator ma non sono sicuro di dove andare con una class generica.

Imansible passare una variabile di tipo conforms al vincolo generico

public interface ILovable where T : IEquatable { T Care(T t); } public class Me : ILovable { public int Care(int i) { return i; } } Dì che ho il sopra. Ora sotto la funzione fallisce: private static void Colour(ILovable me) where T : IEquatable { var z = me.Care(1); //cannot convert from ‘int’ […]

Dizionario : come usare T come tipo generico di Func?

Non sapevo come esprimerlo chiaramente. Ho questa interfaccia: interface IConverter { Dictionary<Type, Func> ConversionMethods { get; } } Fondamentalmente, definisce un contratto che dice che una class che lo implementa dovrebbe fornire metodi di conversione per tutti i tipi personalizzati che usa (siano essi enumerazioni o altro). È ansible sostituire l’ object nei tipi generici […]

Elenca in un dizionario

Ho una List che ha 3 proprietà A, B, C e quello di cui ho bisogno è di trasformare questa lista in un dizionario in modo che il risultato sia simile Dictionary (Property name) A = Value of A (Property name) B = Value of B (Property name) C = Value of C Pls suggerisce […]

È ansible utilizzare DataContract generico dal client?

So che quando crei un servizio puoi creare un DataContract generico: [DataContract(Name = “Get{0}Request”) public sealed class GetItemRequest where T : class, new() { … } [DataContract(Name = “Get{0}Response”) public sealed class GetItemResponse where T : class, new() { … } [ServiceContract] public void MyService : IMyService { [OperationContract] GetItemResponse GetItem(GetItemRequest request); } Ciò genera […]