2016-06-20 6 views

Antwort

4

Die allgemeine Konvention in. NET ist, alle Attributklassen mit dem Suffix Attribute zu beenden - so ist der tatsächliche Klassenname ComVisibleAttribute. Dies entspricht den Best Practices für die Erweiterung einer Klasse und die Beibehaltung ihres Namens als Suffix.

Dies macht jedoch Attributnamen lang und unhandlich, und verstopft Ihren Code mit einer Vielzahl von Textbausteinen. Aus diesem Grund weiß der C# -Compiler, dass bei der Angabe eines Attributs nach dem angegebenen expliziten Namen gesucht wird, und wenn er nicht gefunden wird, wird dieser an Attribute angehängt.

Wenn Sie die kompilierte Quelle für Ihren Code überprüfen, sehen Sie, dass beide [ComVisible] und [ComVisibleAttribute]-genau die gleiche Sache kompilieren. Es ist nur der Compiler, der uns etwas syntaktischen Zucker gibt, um zu vermeiden, das Wort Attribut überall zu sehen.