解决方法
此问题的本质就是修改.net 程序集的元数据,把相应的类与方法的私有修饰符改为公有。
假设有以下的程序集:
CancelSealedClassLib.dll 有如下类型的定义
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CancelSealedClassLib
{
class mySealedClass
{
private void DisplayInfo()
{
Console.WriteLine("Hello {0}",this.GetType().Name);
}
}
}
CFF Explorer . 这个工具可以查看与修改.net 程序集的元数据.
1. 打开CancelSealedClassLib.dll
单击红色区域,弹出如下窗口
3. 选中 public ,此时mySealedClass的访问级别已经改为public 了
4. 选中 以下红色区域
5. 选中public ,mySealedClass. DisplayInfo()
已经改为public
6. 单击保存,所做的元数据修改就会被保存