Hallo Zusammen,<BR>
ich habe ein Problem mit GetType().Equals(...).<BR>
Mein Code sieht folgendermaßen aus:<BR>
<PRE>
//Start Declaration in MyDLL.dll
public interface TestI
{
/* Deklarationen */
}
public class TestA : TestI
{
/* Deklarationen */
}
public class TestB : TestA
{
/* Deklarationen */
}
//Ende Declaration in MyDLL.dll
//Start MyApp.exe
public class Tester
{
public static TestI GetI()
{
//Hier "hartkodiert"
Assembly a = Assembly.LoadFrom("MyDLL.dll");
Type t = a.GetType("TestB", true, true);
return Activator.CreateInstance(t, null) as TestI;
}
public static void main(string[] args]
{
TestI TI = GetI();
//Folgender Aufruf liefert eine Casting Exception
TestB TestB = (TestB) TI;
Type TIType = TY.GetType();
//Folgender Aufruf liefert FALSE
bool bIsEqual = TIType.Equals(typeof(TestB));
}
}
</PRE>
<BR>
Wenn ich das Ganze aber im Debbuger betrachte, stimmen die Typen überein.<BR>
Was mache ich falsch?<BR>
Im Voraus vielen Dank,<BR>
Gruß Christoph
ich habe ein Problem mit GetType().Equals(...).<BR>
Mein Code sieht folgendermaßen aus:<BR>
<PRE>
//Start Declaration in MyDLL.dll
public interface TestI
{
/* Deklarationen */
}
public class TestA : TestI
{
/* Deklarationen */
}
public class TestB : TestA
{
/* Deklarationen */
}
//Ende Declaration in MyDLL.dll
//Start MyApp.exe
public class Tester
{
public static TestI GetI()
{
//Hier "hartkodiert"
Assembly a = Assembly.LoadFrom("MyDLL.dll");
Type t = a.GetType("TestB", true, true);
return Activator.CreateInstance(t, null) as TestI;
}
public static void main(string[] args]
{
TestI TI = GetI();
//Folgender Aufruf liefert eine Casting Exception
TestB TestB = (TestB) TI;
Type TIType = TY.GetType();
//Folgender Aufruf liefert FALSE
bool bIsEqual = TIType.Equals(typeof(TestB));
}
}
</PRE>
<BR>
Wenn ich das Ganze aber im Debbuger betrachte, stimmen die Typen überein.<BR>
Was mache ich falsch?<BR>
Im Voraus vielen Dank,<BR>
Gruß Christoph
Comment