目前,我正在將.NET 4.5
類庫轉換爲.NET Core
類庫,該過程將引用.NETStandard v1.6
。.NET中的System.Runtime.CompilerServices標準庫
在我的部分代碼中(主要依賴於反射),我需要確定一個對象是否位於System.Runtime.CompilerServices
命名空間中的Closure
類型。該名稱空間和類型在.NETStandard v1.6
中不可用。
- 這種類型是移動還是不能訪問?
- 由於我的代碼依賴於它,如果在
.NETStandard
中不可用,有什麼替代方法?
特定代碼依靠Closure
確定參數類型一個委託的,跳過編譯器生成Closure
的。
Delegate toWrap;
MethodInfo toWrapInfo = toWrap.GetMethodInfo();
var toWrapArguments = toWrapInfo.GetParameters()
// Closure argument isn't an actual argument, but added by the compiler.
.SkipWhile(p => p.ParameterType == typeof(Closure))
.Select(p => p.ParameterType);
您是否嘗試過使用舊的.net框架版本打印出類型,您知道它是'Closure'或類似的東西?獲得該類型後,您可能很有可能在Visual Studio的對象目錄中找到相應的類(以某種方式連接到您的類型)。 –
@ChrisTophski我在上面。一旦我的遷移代碼編譯完成後,我將運行我的測試並查看發生了什麼變化。如果沒有其他人回答這個問題,我會的。 ; p –
使用http://packagesearch.azurewebsites.net –