Angenommen, Sie haben in C# ein Objekt (z. B. myObject
), das eine Instanz der Klasse MyClass
ist. Verwenden Sie nur myObject
, wie würden Sie auf ein statisches Element von MyClass
zugreifen?C# - Wie kann man auf ein statisches Member einer Klasse zugreifen, wenn eine Instanz dieser Klasse angegeben wird?
class MyClass
{
public static int i = 123 ;
}
class MainClass
{
public static void Main()
{
MyClass myObject = new MyClass() ;
myObject.GetType().i = 456 ; // something like this is desired,
// but erroneous
}
}
Können Sie erklären, warum Sie nicht direkter darauf verweisen können? Hier riecht es ein wenig nach Code. –
Meine Methode akzeptiert einen Parameter vom Typ Block, aber das übergebene tatsächliche Argument gehört zu einer Klasse, die einer von mehreren * Unterklassen * von Block angehört, und jede Unterklasse hat ihre eigene Kopie des statischen Mitglieds (diese Rolle wird gespielt) durch "i" im Code meiner Frage). – JaysonFix
IMHO, oft die beste Antwort auf "Wie mache ich das?" ist "Tu das nicht." Ich vermute stark, dass dies eine dieser Zeiten ist. – tnyfst