Heim > Backend-Entwicklung > C++ > Warum sind generische Attributtypen in C# nicht zulässig?

Warum sind generische Attributtypen in C# nicht zulässig?

Linda Hamilton
Freigeben: 2025-01-18 23:02:45
Original
449 Leute haben es durchsucht

Why Are Generic Attribute Types Not Allowed in C#?

C#s Beschränkung auf generische Attribute: Ein ungeklärtes Rätsel

Der Versuch, generische Typen innerhalb von C#-Attributen zu verwenden, führt zu einem verwirrenden Fehler bei der Kompilierung. Zum Beispiel:

<code class="language-csharp">[Validates<string>]
public static class StringValidation
{
    // ...
}</code>
Nach dem Login kopieren

Dies steht im Gegensatz zu Sprachen wie Java, wo eine solche Verwendung erlaubt ist. C# verbietet jedoch konsequent generische Attributtypen. Der genaue Grund dafür bleibt unklar.

Die Spezifikationen ECMA C# 2 und 3 erwähnen diese Einschränkung, ohne eine Erklärung anzubieten. Eric Lippert, ein ehemaliger Microsoft-Entwickler und C#-Sprachdesigner, weist darauf hin, dass es keine spezifische, dokumentierte Begründung gibt. Die Entscheidung resultiert wahrscheinlich aus einer Priorisierung der Einfachheit von Sprache und Compiler und der Konzentration der Entwicklungsbemühungen auf Funktionen mit nachweislich höherem Wert.

Daher stellt das Verbot generischer Attributtypen in C# ein bemerkenswertes und möglicherweise einschränkendes Merkmal der Sprache dar, für das es keine klare und öffentlich verfügbare Begründung gibt.

Das obige ist der detaillierte Inhalt vonWarum sind generische Attributtypen in C# nicht zulässig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage