Ist es möglich, einen Alias mit .net-Typ zu deklarieren? in C# und wenn ja wie?Ist es möglich, einen Alias mit .net-Typ zu deklarieren?
Antwort
Zum Beispiel:
using MatchBuilderFactoryFunc = System.Func<
IndexerBase.RequestMatching.RequestFreeTextAnalyzeParameter,
System.Collections.Generic.IEnumerable<
IndexerBase.RequestMatching.IMatchBuilder>>;
Und schließlich ist es so einfach Art verwenden:
MatchBuilderFactoryFunc f = ...
+1, Nie in Betracht gezogen, es so zu verwenden –
Ja, using tun
using q = System.Int32;
using XDoc = System.Xml.Linq.XDocument;
Es ist jedoch nur überlebt für die Zusammenstellung der eine C# Datei. Sie können diesen Alias nicht exportieren.
Wie andere gesagt haben, verwenden Sie die "using alias = type;" Form der Nutzungsrichtlinie. Einige Dinge dazu:
1) Es muss die erste Sache in der Datei oder im Namespace sein. (Es sei denn, Sie haben externe Alias-Direktiven natürlich; sie gehen vor der Verwendung von Direktiven.)
2) Der Alias ist kein echter Typ. Viele Leute würden gerne sehen:
using PopsicleCount=System.Int32;
using GiraffeCount=System.Int32;
...
PopsicleCount p = 123;
GiraffeCount g = p; // ERROR, can't convert a count of giraffes into a count of popsicles
Aber wir unterstützen diese Funktion nicht. Es ist ein echter Alias; Wir ersetzen einfach den Alising-Typ für den Alias-Bezeichner, wenn wir ihn sehen. p und g sind beide vom Typ int.
3) Der Alias gilt nur in der Datei- oder Namespace-Deklaration, in der er erscheint. Wenn Sie in jeder Datei in Ihrem Programm einen Alias verwenden möchten, müssen Sie ihn in jede Datei Ihres Programms schreiben.
4) Aliase können auf der Aliasnamen-Seite nicht parametrisiert werden, obwohl sie auf der Typseite generische Typen geschlossen werden können. Das heißt, das ist legal:
using GiraffeList = System.Collections.Generic.List<Giraffe>;
aber das ist nicht:
using Frobtionary<T> = System.Collections.Generic.Dictionary<Frob, T>;
Sie haben Recht, ich will wirklich 2) auf Ihrer Liste. –
- 1. Ist es möglich, Variablen prozedural mit Rust-Makros zu deklarieren?
- 2. Ist es möglich, einen Vorlagenalias zu erstellen?
- 3. Ist es möglich, Git-Befehl durch Git Alias zu überschreiben?
- 4. Ist es möglich, Werte const Array-Element zu deklarieren einzeln
- 5. Ist es möglich, Alias-Methoden in Ruby zu identifizieren?
- 6. In Git ist es möglich, einen Alias von einem anderen Alias
- 7. Ist es möglich, 'using' zu verwenden, um den Verweis auf 3 Ganzzahl-Typalias zu deklarieren?
- 8. Ist es möglich, einen Datenbanktransaktionsparameter zu verfälschen?
- 9. Ist es möglich, einen Gradienten zu zeichnen?
- 10. Ist es möglich, einen ValueType zu klonen?
- 11. Ist es möglich, einen Operationshaken zu entfernen?
- 12. Ist es möglich, einen Subprozess zu erneuern?
- 13. Route Alias, ist das möglich?
- 14. PHP: Ist es möglich, class_alias zu entfernen?
- 15. Ist es möglich, einen Alias für ein Modul in Ruby zu erstellen?
- 16. Ist es möglich, einen Alias für den Funktionsnamen in Lisp zu haben?
- 17. Ist es möglich, den SQL-Alias einer Join-Tabelle für einen Hibernate sqlRestriction zu erhalten?
- 18. Ist es möglich, einen Funktionstyp zu deklarieren, der sich selbst als Argument in C++ verwendet?
- 19. Ist es möglich, einen konstanten Wert in einem Datenbankpaket zu deklarieren? (SQL oder Java)
- 20. Ist es möglich, einen Alias für sys.stdout in Python zu haben?
- 21. Ist es möglich, einen Typ-Alias zu einem generischen Datensatz in Delphi
- 22. Ist es möglich, einen Standard-Namespace aus einer externen Variablen dynamisch zu deklarieren?
- 23. Ist es möglich, einen Webdienst mit der Formularauthentifizierung zu sichern?
- 24. Ist es möglich, einen Windows-Dienst mit Python zu schreiben?
- 25. Ist es möglich, einen neuen Rekord mit Linsen zu konstruieren?
- 26. Ist es möglich, einen TH mit TableRow.insertCell() zu erstellen?
- 27. Ist es möglich, einen Stellantrieb mit Dronekit Python zu steuern?
- 28. Ist es möglich, einen Webbrowser mit Python zu entwickeln?
- 29. Ist es möglich, einen Symlink mit einem Texteditor zu bearbeiten?
- 30. Ist es möglich, einen Funktionszeiger auf einen Konstruktor zu definieren?
möglich Duplikat [? Wie kann ich alias einen Klassennamen in C#] (http://stackoverflow.com/questions/244246/how-do-i-alias-a-Klassenname-in-c) – nawfal