Deklariere 2 Typen innerhalb der using-Anweisung kompiliert Fehler?

7

Ich möchte diese Codezeile verwenden:

%Vor%

Dies ergibt einen Kompilierungsfehler:

  

In a kann nicht mehr als ein Typ verwendet werden   für, verwenden, fest oder deklartion   Aussage.

Ich dachte, das wäre möglich? MSDN sagt, es ist: Ссылка In dem MSDN-Beispielcode wird Schriftart verwandt, die Klasse und damit ein Referenztyp sowie meine zwei DataContext-Klassen ist.

Was ist hier schief gelaufen? Wie unterscheidet sich mein Versuch vom MSDN-Beispiel?

    
citronas 25.03.2010, 23:08
quelle

3 Antworten

13

MSDN deklarierte Instanzen von zwei Objekten desselben Typs. Sie deklarieren mehrere Typen, daher die Fehlermeldung, die Sie erhalten haben.

Bearbeiten: Um alle "Eric Lippert" darauf zu gehen, sagt Abschnitt 8.13 der Sprachspezifikation:

Wenn eine Ressourcenbeschaffung die Form einer lokalen Variablendeklaration annimmt, ist es möglich, mehrere Ressourcen eines bestimmten Typs zu erwerben. Eine using-Anweisung des Formulars

%Vor%

entspricht genau einer Sequenz verschachtelter using-Anweisungen:

%Vor%

Der Schlüssel ist, dass dies Ressourcen eines bestimmten Typs sind , keine Typen, die mit dem MSDN-Beispiel übereinstimmen.

    
Anthony Pegram 25.03.2010, 23:11
quelle
11

Tun Sie dies stattdessen

%Vor%     
Catalin DICU 25.03.2010 23:13
quelle
5

Die using Ressourcenerwerbsanweisung kann eine Deklaration sein. Eine Deklaration kann nur Variablen vom Typ eins deklarieren.

Sie können:

%Vor%

aber Sie können nicht

%Vor%     
Mehrdad Afshari 25.03.2010 23:11
quelle

Tags und Links