簡而言之:我有一個通過 JSON 組態檔提供的方法名稱。我想使用這個提供的名稱呼叫一個方法。該方法(具有匹配的名稱)將存在于后端。解決這個問題的最佳方法是什么?
我不太確定我應該搜索什么作為示例。
詳細說明:我正在使用一個遺留應用程式,因此是 VB.NET。我正在從多個 PDF 源構建單個 PDF 檔案。大多數都是這樣,我只是簡單地閱讀配置并獲取相關檔案,然后作業就完成了。但是有些需要處理,我希望組態檔傳遞一個要呼叫的方法名稱,該名稱將對 PDF 執行額外的處理,無論是什么。
由于可能有很多 PDF 檔案可能會有所不同,因此我不能簡單地使用諸如“PostProcessing:true”之類的屬性。
有任何想法嗎?
uj5u.com熱心網友回復:
您可以使用反射來反射方法名稱,并根據從組態檔中的屬性傳遞的名稱檢查它們。
像這樣
Type magicType = Type.GetType("MagicClass");
MethodInfo magicMethod = magicType.GetMethod("ItsMagic");
object magicValue = magicMethod.Invoke(magicClassObject, new object[]{100});
那會起作用..但老實說,我會使用 case 陳述句,因為無論如何您都會對方法名稱進行硬編碼(因為它們是代碼),并且它將是強型別的(錯別字和錯誤的可能性較小) .
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/421585.html
標籤:
上一篇:VBA:(a).Net中的VarType()是否與Office中的不同?(b)什么是vbChar?
下一篇:設定別名時找不到zsh命令錯誤
