Articles of generici

C # Aggiunta di due valori generici

Qualcuno può spiegare perché questo non funzionerà? Stavo cercando di essere in grado di aggiungere due valori indipendentemente dal tipo numerico. public static T Add (T number1, T number2) { return number1 + number2; } Quando compilo questo, ottengo il seguente errore: Operator ‘+’ cannot be applied to operands of type ‘T’ and ‘T’

Come chiamare un metodo generico con un determinato object Type?

Voglio chiamare il mio metodo generico con un determinato object tipo. void Foo(Type t) { MyGenericMethod(); } ovviamente non funziona Come posso farlo funzionare?

Inferenza di tipo generico C # 3.0: passaggio di un delegato come parametro di funzione

Mi chiedo perché il compilatore C # 3.0 non sia in grado di dedurre il tipo di un metodo quando viene passato come parametro a una funzione generica quando può creare implicitamente un delegato per lo stesso metodo. Ecco un esempio: class Test { static void foo(int x) { } static void bar(Action f) { […]

Digita cancellatura, sovrascrittura e generici

Qualcuno può spiegarmi perché? @Override public void fooMethod(Class c) non ha la precedenza public void fooMethod(Class c) e mi dà invece i seguenti errori: – Name clash: il metodo fooMethod (Classe ) di tipo SubClass ha la stessa cancellazione di fooMethod (Class) di digita SuperClass ma non lo sovrascrive – Il metodo fooMethod (Classe ) […]

Crea una lista di int primitivi?

C’è un modo per creare un elenco di primitive int o primitive in java come segue? List myList = new ArrayList(); Sembra che io possa fare List myList = new ArrayList(); e aggiungi “int” in questa lista. Ma questo significherebbe che posso aggiungere qualcosa in questa lista. La mia unica opzione è creare un array […]

È ansible creare un metodo generico @helper con Razor?

Sto cercando di scrivere un helper in Razor che assomigli al seguente: @helper DoSomething(Expression<Func> expr) where T : class Sfortunatamente, il parser pensa che <T sia l’inizio di un elemento HTML e finisco con un errore di syntax. È ansible creare un helper con Razor che è un metodo generico? In tal caso, qual è […]

Qual è la differenza nella pratica tra i parametri di funzione generici e quelli tipizzati dal protocollo?

Dato un protocollo senza tipi associati: protocol SomeProtocol { var someProperty: Int { get } } Qual è la differenza tra queste due funzioni, in pratica (che significa “uno è generico e l’altro no”)? Generano codice diverso, hanno caratteristiche di runtime diverse? Queste differenze cambiano quando il protocollo o le funzioni diventano non banali? (dal […]

Un modello riutilizzabile per convertire l’evento in attività

Mi piacerebbe avere un pezzo generico riutilizzabile di codice per avvolgere il modello EAP come attività , qualcosa di simile a ciò che Task.Factory.FromAsync fa per il modello APM BeginXXX/EndXXX . Per esempio: private async void Form1_Load(object sender, EventArgs e) { await TaskExt.FromEvent( handler => this.webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(handler), () => this.webBrowser.Navigate(“about:blank”), handler => this.webBrowser.DocumentCompleted […]

Esiste un vincolo generico C # per i tipi di “numero reale”?

Possibile duplicato: Vincolo generico C # per soli numeri interi Saluta! Sto tentando di impostare un sistema di coordinate cartesiane in C #, ma non voglio limitarmi a nessun tipo numerico per i miei valori di coordinate. A volte potrebbero essere numeri interi e altre volte potrebbero essere numeri razionali, a seconda del contesto. Questo […]

Converti DataTable in Elenco generico?

public static IList ConvertTo(DataTable table) { if (table == null) { return null; } List rows = new List(); foreach (DataRow row in table.Rows) { rows.Add(row); } return ConvertTo(rows); } public static T ConvertItem(DataTable table) { T obj = default(T); if (table != null && table.Rows.Count > 0) { obj = CreateItem(table.Rows[0]); } return obj; […]