Dies ist die Funktion:Fehler, wenn ein bedingter Haltepunkt auf System.Type mit
public void Init(System.Type Type) {
this.Type = Type;
BuildFieldAttributes();
BuildDataColumns(FieldAttributes);
}
ich einen Haltepunkt in der ersten Zeile festgelegt haben (this.Type = Type
) und ich möchte brechen, wenn Type.FullName == "Malt.Organisation"
so dass das, was ich als Bedingung eingetreten.
jedoch die folgende Fehlermeldung angezeigt wird, wenn die Leitung getroffen wird:
Die Bedingung für einen Breakpoint auszuführen fehlgeschlagen. Die Bedingung war 'Type.FullName == "Malt.Organisation"'. Der zurückgegebene Fehler war 'Überprüfen des Status eines Objekts im Debuggee vom Typ System.Type wird in diesem Kontext nicht unterstützt.'
Was (offensichtliche) Sache mache ich falsch?
PS. Eine Abhilfe ist dies den Code hinzuzufügen:
if (Type.FullName == "Malt.Organisation") System.Diagnostics.Debugger.Break();
Möglicherweise nicht relevant, aber übergeben Sie einen ['RunTimeType' oder einen' Type'] (http://stackoverflow.com/q/5737840/1364007) in Ihre Methode? –
Der Debugger ist ziemlich explizit: "Wir unterstützen das noch nicht". Auch in VS2015 sollte es dank Roslyn besser sein. Wenn es jemals eine Frage gibt, die Sie hier nicht beantworten können, müssen Sie Microsoft fragen. Sie sind nicht dazu geneigt, Versprechungen zu machen. –
Ich rate Ihnen dringend davon ab, Typ als Variablennamen oder Eigenschaftsnamen zu verwenden. Dies führt unweigerlich zu Konflikten, weil Ihre Variable auch der Name eines bekannten Typs ist. Funktioniert es, wenn Sie Type in type und/oder theType umbenennen? –