簡體   English   中英

動態將對象轉換為實際類

[英]Cast object to actual class dynamically

根據這篇文章: 從其文本名稱實例化一個類

我試圖訪問實例化對象內部的方法,但它仍然是一個對象。 我們知道在訪問該方法之前必須強制轉換它。 就我而言,因為類是動態的,所以我無法進行強制轉換。 有什么解決辦法嗎?

到目前為止,我的代碼與上面的帖子沒有什么不同。 我只需要在實例化后調用該方法。

提前致謝

當通常的類型安全方法不適用時,至少有兩個選項可以動態調用方法:

dynamic o = GetSomeObject();

o.SomeMethod();

要么:

object o = GetSomeObject();
MethodInfo mi = o.GetType().GetMethod("SomeMethod");

mi.Invoke(o);

請注意,前者更簡單,並且受益於后者示例中沒有的一些編譯器和運行時支持(包括動態綁定的緩存)。

您是否嘗試過將對象實現為接口?

或者您也可以使用'as'關鍵字

MyClass test = regularobject as MyClass;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM