2016-05-15 10 views
-2

Ist es möglich, eine Klasseninstanz in C# aufzurufen? Zum Beispiel ist es möglich, dies zu tun?Ist es möglich, ein Objekt in C# aufzurufen?

MyClass myClass = new MyClass(); 
myClass(); 
+3

Nein, es ist nicht möglich. Warum versuchst du es nicht selbst? –

+2

Was erwarten Sie davon? –

Antwort

1

Technisch können Funktionen als Objekte gespeichert werden. Diese werden in .NET als Delegaten bezeichnet.

Also, wenn Sie etwas haben, das von Typ ist, d. H. Ein Delegat wie Func oder Action oder solche, die funktionieren würden, können Sie es anrufen. Ich glaube nicht, dass dies für willkürliche Klassen möglich ist.

Zum Beispiel:

Func<int, int> doubleIt = (x) => x * 2; 
doubleIt(4); 

//or 
Action<Object> print = x => Console.WriteLine(x); 
print(4); 
0

Ich weiß nicht, was mit diesem Ihr Ziel ist, aber man kann so etwas tun:

Func<MyClass> myClass =() => new MyClass(); 

// Then you can call this function, which returns a new instance of 'MyClass' 
MyClass newInstance = myClass(); 
Verwandte Themen