Frage

Ich suche eine Bibliothek zu schreiben, die die neue optionale Parameter Funktion von C # 4.0 verwendet, aber ich will es auf die 3.5 Version des Frameworks zielen. Ist das möglich?

Sind optionale Parameter syntaktischer Zucker in der gleichen Art und Weise, dass die Erweiterungsmethoden sind?

War es hilfreich?

Lösung

Mit VS2010 RC, konnte ich eine .NET 3.5-Anwendung erstellen, die optionalen Parameter in C # verwendet.

Also ja, es ist alles über syntaktischen Zucker.

Andere Tipps

VS 2010 unterstützt optionale Parameter in C # für .NET 3.5-Lösungen. Ein Nachteil ist jedoch, dass die Kommandozeilen-Compiler-Fehler berichten.

Wenn Sie also automatisiert baut in Betrieb, - mit NANT oder etwas anderes der Befehlszeilen-Compiler verwenden -. Ihre Builds fehl

Wie Jon Skeet Ich war immer „Eigenschaft‚optionalen Parameter‘kann nicht verwendet werden, da sie nicht Teil der 3.0 C # Sprachspezifikation ist“. Jedoch in der RTM-Version von Visual Studio können Sie Sprachversion auf "default" im Projekt Eigenschaften-> Build-> Erweitert. Das hat es für mich zu arbeiten.

Sie können optional und benannte Parameter in einem gezielten Rahmen einer früheren Version verwenden, sofern die Baugruppen für v4 (F. E. VS2010) innerhalb einer Entwicklungsumgebung aufzubauen sind. Aber man sollte der Compiler des anvisierten Rahmen in diesem Fall von Laufzeit Compilieren oder Veröffentlichung von Websites darüber im Klaren sein wird verwendet. Und weil die Compiler der älteren Frameworks nicht verstehen, die Syntax von optionalen und dem Namen params wird es führt zu Compiler-Fehler.

Zum Eigenschaften zu projizieren -> Build Tab -> klicken Sie auf die Schaltfläche 'Erweitert' -> set Sprachversion 'default' -> speichern -> gerne;)

ich VS2010 hier nicht installiert haben, um zu überprüfen, aber ich glaube, das wäre ein reine Sprache-Funktion, und daher verwendbar sein sollte, unabhängig von dem Rahmen gezielt wird.

Edit: Mit Blick auf diese Link rel="nofollow (und einige andere), scheint es, dass optionale Parameter Methodenargumente mit einem [opt] Attribut im il kompilieren. Ich weiß nicht, ob diese Parameter in früheren Versionen des clr existierten, aber immer noch meine Vermutung wäre, dass es funktioniert.

VB.NET hat optionale Parameter, wenn Sie .NET optionale Parameter in verwenden möchten 3.5.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top