Gibt es eine Möglichkeit, "internen" Code über Reflektion auszuführen? HierC#, Internal und Reflection
ist ein Beispielprogramm:
using System;
using System.Reflection;
namespace ReflectionInternalTest
{
class Program
{
static void Main(string[] args)
{
Assembly asm = Assembly.GetExecutingAssembly();
// Call normally
new TestClass();
// Call with Reflection
asm.CreateInstance("ReflectionInternalTest.TestClass",
false,
BindingFlags.Default | BindingFlags.CreateInstance,
null,
null,
null,
null);
// Pause
Console.ReadLine();
}
}
class TestClass
{
internal TestClass()
{
Console.WriteLine("Test class instantiated");
}
}
}
eine Testklasse anlegen normalerweise perfekt funktioniert, aber wenn ich versuche, eine Instanz über Reflexion zu schaffen, habe ich eine Missingfehlermeldung erhalten dass es nicht den Konstruktor finden (die Was würde passieren, wenn Sie es von außerhalb der Versammlung anrufen würden?
Ist das unmöglich, oder gibt es eine Workaround, die ich tun kann?
Nur ein kurzer Hinweis, können Sie Types.EmptyTypes anstelle neuer Typ verwenden [0]. – Vinicius