colblake
Erfahrenes Mitglied
Hallo,
ich habe folgendes Problem. Ich habe eine Basisklasse in der ich eine Membervariable habe die den Klassennamen der vererbenden Klasse ermitteln soll. Das funtioniert aber verständlicher weise nur wenn die Klasse instanziert wird. Bei einer Statischen Methode gibt die Methode den Klassenamen der Basisklasse zurück.
Hier der Code:
Ausgabe:
Weiß jemand wie ich das für die statischen Methoden auch hin bekomme dass die ableitende klasse angezeigt wird?
gruß,
col.blake
ich habe folgendes Problem. Ich habe eine Basisklasse in der ich eine Membervariable habe die den Klassennamen der vererbenden Klasse ermitteln soll. Das funtioniert aber verständlicher weise nur wenn die Klasse instanziert wird. Bei einer Statischen Methode gibt die Methode den Klassenamen der Basisklasse zurück.
Hier der Code:
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace static_test
{
class Program
{
static void Main(string[] args)
{
stTest.testStatic();
new stTest().testMember();
Console.ReadLine();
}
}
/// <summary>
///
/// </summary>
class stTestBase
{
public static String aaa = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name;
public stTestBase()
{
aaa = this.GetType().Name;
}
}
/// <summary>
///
/// </summary>
class stTest:stTestBase
{
public void testMember()
{
Console.WriteLine("Member:\t" + aaa);
}
public static void testStatic()
{
Console.WriteLine("Static:\t" + aaa);
}
}
}
Code:
Static: stTestBase
Member: stTest
Weiß jemand wie ich das für die statischen Methoden auch hin bekomme dass die ableitende klasse angezeigt wird?
gruß,
col.blake