Articles of generica

Perché niente farmaci generici in Go?

Disclaimer: ho giocato con Go per un solo giorno ora, quindi ci sono buone probabilità che mi sia mancato molto. Qualcuno sa perché non c’è un vero supporto per generici / modelli / whatsInAName in Go? Quindi c’è una map generica, ma fornita dal compilatore, mentre un programmatore Go non può scrivere la propria implementazione. […]

Repository generico in ASP.NET Core senza avere una riga AddScoped separata per tabella in Startup.cs?

Ho un repository generico nel mio progetto. Considera il seguente frammento di controller public class Lookup1Controller : Controller { readonly MyDbContext _db; public Lookup1Controller(MyDbContext dataContext) { _db = dataContext; } public async Task Index() { IGenericRepository _repository = new GenericRepository(_db); var lookup1s = await _repository.SelectAll(); return View(lookup1s); } Non vedo la necessità di avere il […]

Come posso ottenere la definizione di testo corretta di un tipo generico usando la riflessione?

Sto lavorando alla generazione del codice e mi sono imbattuto in generici. Ecco una versione “semplificata” di ciò che mi sta causando problemi. Dictionary dictionary = new Dictionary(); string text = dictionary.GetType().FullName; Con lo snippet di codice precedente il valore del text è il seguente: System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] (Interruzioni […]

Si tratta di un bug di covarianza in C # 4?

Nella seguente parte di codice mi aspettavo di essere in grado di trasmettere implicitamente da elements a baseElements perché TBase è implicitamente convertibile in IBase . public interface IBase { } public interface IDerived : IBase { } public class VarianceBug { public void Foo() where TBase : IBase { IEnumerable elements = null; IEnumerable […]

Come inizializzare un elenco con una determinata dimensione (al contrario della capacità)?

.NET offre un contenitore di elenchi generici le cui prestazioni sono quasi identiche (vedere la domanda Prestazioni delle matrici contro le liste). Tuttavia sono piuttosto diversi nell’inizializzazione. Gli array sono molto facili da inizializzare con un valore predefinito e, per definizione, hanno già determinate dimensioni: string[] Ar = new string[10]; Il che consente di assegnare […]

Perché non è ansible eseguire il cast di IEnumerable come IEnumerable ?

Perché l’ultima riga non è consentita? IEnumerable doubleenumerable = new List { 1, 2 }; IEnumerable stringenumerable = new List { “a”, “b” }; IEnumerable objects1 = stringenumerable; // OK IEnumerable objects2 = doubleenumerable; // Not allowed Questo perché double è un tipo di valore che non deriva dall’object, quindi la covarianza non funziona? Significa […]

Come faccio a sovrascrivere il metodo di aggiunta di List in C #?

Attualmente sto cercando di creare la mia collezione personale, che sarebbe come una lista normale, tranne per il fatto che conteneva solo 10 elementi. Se un articolo è stato aggiunto quando c’erano già 10 articoli nell’elenco, il primo elemento sarebbe stato rimosso prima dell’aggiunta del nuovo object. Quello che voglio fare è creare una class […]

Perché non posso assegnare una lista a una lista ?

Ho definito la seguente class: public abstract class AbstractPackageCall { … } Definisco anche una sottoclass di questa class: class PackageCall : AbstractPackageCall { … } Ci sono anche diverse altre sottoclassi di AbstractPackageCall Ora voglio effettuare la seguente chiamata: List calls = package.getCalls(); Ma ottengo sempre questa eccezione: Error 13 Cannot implicitly convert type […]

Ottieni un metodo generico senza utilizzare GetMethods

Voglio ottenere il metodo System.Linq.Queryable.OrderyBy(the IQueryable source, Expression<Func> keySelector) il metodo System.Linq.Queryable.OrderyBy(the IQueryable source, Expression<Func> keySelector) , ma continuo a venire con null. var type = typeof(T); var propertyInfo = type.GetProperty(group.PropertyName); var propertyType = propertyInfo.PropertyType; var sorterType = typeof(Func).MakeGenericType(type, propertyType); var expressionType = typeof(Expression).MakeGenericType(sorterType); var queryType = typeof(IQueryable); var orderBy = typeof(System.Linq.Queryable).GetMethod(“OrderBy”, new[] { queryType, […]

ottenere il tipo T da IEnumerable

c‘è un modo per recuperare il tipo T da IEnumerable attraverso il reflection? per esempio ho una variabile IEnumerable info; Voglio recuperare il tipo di bambino attraverso la riflessione