Probleme bei CodeDom mit VB.NET mit Shadows und Overloads
Beim automatischen Erstellen von Code für VB.NET durch das CodeDom gibt es das Problem (den Bug?), dass Shadows nicht allein erzeugt wird, wenn die MemberAttributes auf New gestellt werden. Vielmehr wird Overloads Shadows erzeugt und das ist in VB.NET nicht erlaubt. Also hab ich folgenden Workaround entwickelt: Nach dem Erzeugen des Codes wird geprüft, ob mit VB.NET erzeugt wurde und dann werden mit Hilfe des zugrundeliegenden StringBuilders einfach die problematischen Stringfolgen ersetzt:
// Take compile Unit and make the code
gen.GenerateCodeFromCompileUnit(unit, writer, null);
if (_Provider is VBCodeProvider)
{
writer.Flush();
writer.GetStringBuilder().Replace(" Overloads Shadows ", " Shadows ");
}
0 Kommentare:
Kommentar veröffentlichen
<< Zurück