Warum erlaubt F # nicht mehrere Attribute, wo C # ist?

8

Der folgende Code wird in C # kompiliert:

%Vor%

Der folgende Code in F # kompiliert nicht:

%Vor%

Der Kompilierfehler in F # ist: "Der Attributtyp 'ContentTypeAttribute' hat 'AllowMultiple = false'. Mehrere Instanzen dieses Attributs können nicht an ein einzelnes Sprachelement angehängt werden."

Durch das Dekompilieren von ContentType kann ich sehen, dass ContentType von MultipleBaseMetadataAttribute erbt, das 'AllowMultiple = true' in der AttributUsage hat.

Tatsächlich scheint F # das AttributeUsage nicht von der Elternklasse zu übernehmen.

%Vor%

wo

%Vor%     
Johan 27.09.2012, 12:23
quelle

1 Antwort

8

Sieht nach einem Fehler aus. E-Mail fsbugs [at] microsoft.com. Hier ist ein weiterer offensichtlicher Fehler: Er scheint AttributeTargets nicht zu beachten:

%Vor%     
Daniel 27.09.2012, 14:30
quelle