Als «c#-4.0» getaggte Fragen

In C # 4.0 wurden Funktionen wie dynamische Objekte, Verbesserungen der COM-Interoperabilität, generische Co- und Kontravarianz sowie optionale und benannte Parameter eingeführt. Verwenden Sie dieses Tag, wenn sich Ihre Frage speziell auf C # 4.0-spezifische Funktionen bezieht. Das C # -Tag sollte verwendet werden, wenn Ihre Frage nicht spezifisch für C # 4.0-Funktionen ist.

9
Beispiel für Kovarianz und Kontravarianz in der realen Welt
Ich habe ein wenig Probleme zu verstehen, wie ich Kovarianz und Kontravarianz in der realen Welt verwenden würde. Bisher waren die einzigen Beispiele, die ich gesehen habe, das gleiche alte Array-Beispiel. object[] objectArray = new string[] { "string 1", "string 2" }; Es wäre schön, ein Beispiel zu sehen, mit …
162 c#  c#-4.0  covariance 

7
C # Neues T erstellen ()
Sie können sehen, was ich mit dem folgenden Code versuche (aber nicht schaffe): protected T GetObject() { return new T(); } Jede Hilfe wäre sehr dankbar. BEARBEITEN: Der Kontext war wie folgt. Ich habe mit einer benutzerdefinierten Controller-Klasse herumgespielt, von der alle Controller mit standardisierten Methoden abgeleitet werden können. Im …
158 c#  .net  generics  c#-4.0  .net-4.0 

3
Ist die gleichzeitige Verwendung von HttpClient sicher?
In allen Beispielen, deren Verwendung ich finden kann HttpClient, wird es für einmalige Anrufe verwendet. Was aber, wenn ich eine anhaltende Client-Situation habe, in der mehrere Anfragen gleichzeitig gestellt werden können? Grundsätzlich ist es sicher, client.PostAsync2 Threads gleichzeitig gegen dieselbe Instanz von aufzurufen HttpClient. Ich suche hier nicht wirklich nach …

4
Warum Kovarianz und Kontravarianz den Wertetyp nicht unterstützen
IEnumerable<T>ist eine Co-Variante, unterstützt jedoch keinen Werttyp, sondern nur einen Referenztyp. Der folgende einfache Code wurde erfolgreich kompiliert: IEnumerable<string> strList = new List<string>(); IEnumerable<object> objList = strList; Beim Wechsel von stringzu intwird jedoch ein kompilierter Fehler angezeigt: IEnumerable<int> intList = new List<int>(); IEnumerable<object> objList = intList; Der Grund wird in …



7
Kein Main () in WPF?
Ich bin ein Anfänger in Sachen Programmierung, aber ich war mir sicher, dass eine der universellen Regeln war, dass ein Programm mit Main () beginnt. Ich sehe keine, wenn ich ein WPF-Projekt erstelle. Wird Main () in WPF einfach anders benannt?
128 c#  wpf  c#-4.0  main 

8
C # 4.0: Kann ich ein TimeSpan als optionalen Parameter mit einem Standardwert verwenden?
Beide erzeugen einen Fehler, der besagt, dass es sich um eine Konstante zur Kompilierungszeit handeln muss: void Foo(TimeSpan span = TimeSpan.FromSeconds(2.0)) void Foo(TimeSpan span = new TimeSpan(2000)) Kann jemand zunächst erklären, warum diese Werte beim Kompilieren nicht ermittelt werden können? Und gibt es eine Möglichkeit, einen Standardwert für ein optionales …


8
Zum Workflow oder nicht zum Workflow?
Ich bin verantwortlich für ein Entwicklerteam, das im Begriff ist, mit der Entwicklung eines Systems für leichte Versicherungsansprüche zu beginnen. Das System umfasst viele manuelle Aufgaben und Geschäftsabläufe, und wir möchten Windows Workflow (.NET 4.0) verwenden. Ein Beispiel für die Geschäftsdomäne lautet wie folgt: Ein Versicherungsnehmer ruft das Contact Center …

10
Wie überprüfe ich, ob eine Eigenschaft für einen dynamischen anonymen Typ in c # vorhanden ist?
Ich habe ein anonymes Typobjekt, das ich als Dynamik von einer Methode erhalte, die ich überprüfen möchte, ob eine Eigenschaft für dieses Objekt vorhanden ist. .... var settings = new { Filename="temp.txt", Size=10 } ... function void Settings(dynamic settings) { var exists = IsSettingExist(settings,"Filename") } Wie würde ich IsSettingExist implementieren?




10
C # -Operatorüberladung für `+ =`?
Ich versuche, Operatorüberladungen durchzuführen +=, kann dies aber nicht. Ich kann nur einen Bediener überladen +. Woher? Bearbeiten Der Grund, warum dies nicht funktioniert, ist, dass ich eine Vektorklasse habe (mit einem X- und Y-Feld). Betrachten Sie das folgende Beispiel. vector1 += vector2; Wenn meine Bedienerüberlastung auf Folgendes eingestellt ist: …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.