Ich habe eine C# -Projektbibliothek DLL mit einer internen Klasse, und ich möchte Einheit testen. Ich möchte diese interne Klasse speziell testen, indem ich, wenn möglich, einen Verweis auf die interne Klasse verwende.Wie kann ich mithilfe von Reflection eine Methode für diese interne Klasse aufrufen, die in einer Bibliothek vorhanden ist?
Ich habe diese Klasse:
namespace ProjectA.B.C
{
class Caching
{
public static void DoWork() { }
}
}
Wie kann ich die DoWork
Methode mithilfe von Reflektion aus einem anderen Projekt aufrufen, die ProjectA
verwendet? Ich habe versucht, aber meine erste Frage ist, dass typeof(ProjectA.B.C.Caching)
geschützt ist, so dass ich nicht scheinen kann, noch die Typ-Referenz zu bekommen, aber ich bin sicher, dass es einen Weg gibt.
Der Fehler ist:
‚ProjectA.B.C.Caching‘ unzugänglich ist aufgrund seiner Schutzstufe
Es ist nicht geschützt - es ist intern. Sie können 'Assembly.GetType' verwenden, obwohl ... haben Sie das schon probiert? –
@JonSkeet Ich habe meine Frage aktualisiert, bin aber immer noch nicht sicher, wie ich die Assembly-Referenz erhalten soll. – Alexandru
wablab Antwort ist ein besserer Ansatz, eigentlich ... –