Christian Deger
.NET - no drag and drop
Subscribe by Feed
Subscribe by Email
Sign In
Wednesday, August 30, 2006
« Willkommen in der Welt der Technischen D...
|
Main
|
Adobe SVG-Viewer tot »
Generics - Compiler Inference und Code Analysis
Gestern hatte ich bei Dustin Campbell einen interessanten Artikel gelesen:
Getting a little more graceful with generics
.
Im wesentlich ging es darum, dass der C# Compiler beim Aufruf einer generischen Methode selbst schließt welchen Typ er verwenden soll. Er sieht sich einfach die Parameter beim Aufruf an.
Fast exakt dieses Beispiel hatte ich in meinem aktuellen Projekt bereits verwandt. Nur habe ich eine Warnung von der Code Analyse bekommen, dass ich mit meinem Code diesen Rückschluss verhindern würde (CA1004 Microsoft.Design Warning GenericMethodsShouldProvideTypeParameter). Stimmt aber nicht. Es funktioniert wunderbar.
Die Methode
public static void GenerischeMethode<T>(List<T> arg);
kann immer so aufgerufen werden:
GenerischeMethode<string>(new List<string>);
GenerischeMethode<int>(new List<int>);
Aber der Compiler kann durch Inference auch den Typ selbst ermitteln und diese Aufrufe funktionieren auch:
GenerischeMethode(new List<string>);
GenerischeMethode(new List<int>);
Die Warnung CA1004 geht davon aus, dass der generische Typ direkt als Parameter verwendet werden soll und nicht wie in diesem Fall indirekt über List<T>.
Dustin Campbell hat dieses Verhalten in
Microsoft bug? You decide!
nach meinem Kommentar ausführlicher dargelegt.
.NET
Wednesday, August 30, 2006 3:00:34 PM (W. Europe Daylight Time, UTC+02:00)
Disclaimer
|
Comments [0]
|
Related posts:
Outlook MoveTo 2007
Flexible Weiterleitung mit HttpHandler
ASP.NET Redirect mit HttpHandler
TFS 2008 und externe Verbindungen
Team Foundation Server 2008
Quelltext der .NET Framework Libraries wird veröffentlicht
Comments are closed.
Search
On this page....
About
© Copyright 2012, Christian Deger
E-mail
Blogroll
Ayende @ Rahien
CodeBetter.com
Lost Techies
One Man Think Tank
Rockford Lhotka
Scott Hanselman
ScottGu's Blog
The Morning Brew
Udi Dahan
XKCD
Categories
April, 2010 (1)
January, 2008 (1)
December, 2007 (6)
November, 2007 (6)
October, 2007 (11)
September, 2007 (8)
August, 2007 (5)
July, 2007 (3)
June, 2007 (2)
May, 2007 (10)
April, 2007 (4)
March, 2007 (3)
February, 2007 (8)
January, 2007 (7)
December, 2006 (7)
November, 2006 (5)
September, 2006 (4)
August, 2006 (4)
July, 2006 (1)
June, 2006 (1)
May, 2006 (1)
March, 2006 (5)
February, 2006 (1)
January, 2006 (4)
December, 2005 (1)
November, 2005 (6)
October, 2005 (5)
.NET
Admin
Blah
FoxPro
JavaScript
PDF
SPCat
SVG
TD
Tools