如何在 C# 中引用不同程序集的内部委托
本文关键字:程序集 内部 引用 | 更新日期: 2023-09-27 18:35:42
我有以下代码
public class MyClass{
internal static Dictionary<string, ActivityManager.TagSerializer> TagHandlers = new Dictionary<string, ActivityManager.TagSerializer>(StringComparer.OrdinalIgnoreCase);
}
其中 TagSerializer 是 ActivityManager 中的委托,如下所示
public class ActivityManager
{ internal delegate string TagSerializer(string tag, ActivityTemplateVariable atv, ContentType ct, CultureInfo ci);}
因为 myclass 和 ActivityManager 在不同的程序集中,我的代码将返回错误
可访问性不一致:字段类型"系统.集合.通用.字典 <string,Microsoft.Office.Server.ActivityFeed.ActivityManager.TagSerializer>"比字段"MyClass.TagHandlers"更难访问
活动管理器类位于第三方程序集中,我无法更改它。
如何使用反射来解决此问题?
你需要使用 InternalsVisibleToAttribute。