引用第三方类库的私有类与私有方法

问题:引用第三方类库的私有类与私有方法

解决方法

此问题的本质就是修改.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

时间: 2024-11-05 19:29:45

引用第三方类库的私有类与私有方法的相关文章

【COCOS2D-X(1.X 2.X) 】IOS6与IPHONE5适相关设置随笔(解决第三方类库无法通过ARMV7S编译的方法、添加DEFAULT-568H@2X.PNG)

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2dx/1020.html 一. 很多项目使用>=4.5 version 的Xcode无法,发现很多第三方库,比如SWaves SDK.Admob SDK.91 SDK Mobage SDk等等. 1. 最简单的解决方案肯定是等这些第三方库尽快更新支持ios6 armv7s 的新版SDK. 2.另外等不及的童鞋可以尝试

c++-C++ 类内函数以引用作为返回值(例如返回类内私有成员变量)

问题描述 C++ 类内函数以引用作为返回值(例如返回类内私有成员变量) 主函数中用参数a接受这个返回值,那么对a的改变会引起私有成员变量的改变吗? 解决方案 返回了引用就可以修改它指向的变量.这种方式通过函数来达到修改内部变量的方式.从而改变封装的行为.不过一般要清楚这么做的目的 解决方案二: 作为引用的变量,相当于一个别名:原理上是指向同一块内存,因此对引用变量的修改就会导致原始变量跟着修改. 解决方案三: 同一个对象当然会改变.通过共有方法将私有成员传出来是很常见的做法,比如设计模式中的单例

函数包装器,函数私有类处理

 1.函数包装器 #include<iostream> #include<functional>   //函数包装器 //第一,设计执行接口,接口设计关卡(),计数 //第二,函数包装器依赖于函数模板,实现通用泛型 //第三,函数代码可以内嵌在另外一个函数,实现函数怀孕 //函数包装器,用于管理内嵌函数,外部函数调用   //函数包装器, T数据类型, F是函数 template<typename T, typename F> T run(T v, F f) {  

C#箴言之用属性来访问类的私有成员

访问|来访 在程序中,难免要访问某个对象的私有成员.那么以前实现这类功能的方法有两种,第一种方法最简单,就是把成员访问符从"private"改为"public"即可:而另一个就是提供公有的成员访问函数来进行访问.那么现在用C#编写程序,就不再需要采用前面所说的两种方法了,而直接使用属性来完成. 首先来看看三种方法的如何实现以及调用的,这里用一个例子来说明,即访问"EmployeeInfo"类的私有成员strName,具体如下表格所示.   pri

C++中用#define访问类的私有成员

我们知道,类的私有成员在类的外部是不能被访问的. 例如有下面的这个简单的类: class ClxECS{private:int iPrivate;}; 那么下面的这个函数是不能通过编译的: void ECS_test(){ClxECS lx;lx.iPrivate = 13; cout << lx.iPrivate << endl;} 但是,我们并不是没有办法来访问类的私有成员. 其实,方法很简单,只要在类的声明前面加上如下一行代码就行了: #define private publ

编程-C++数组作为类的私有成员求助

问题描述 C++数组作为类的私有成员求助 定义一个Employee类,其中包括姓名.街道地址.城市和邮编等属性,以及changeName()和display()等函数.display()显示姓名.街道地址.城市和邮编等属性,changeName()改变对象的姓名属性. 在employee.h文件中定义Employee类.Employee类具有姓名.街道地址.城市和邮编等私有数据成员,都可以用字符型数组来表示,在成员函数中,构造函数用来初始化所有成员数组,对字符数组的赋值可以使用字符串拷贝函数st

私有类的意义

问题描述 MVC中有一个类System.Web.Mvc.CompositeModelValidator是私有类.那么他是如何被使用的呢???私有类有什么用呢? 解决方案 本帖最后由 yangguosheng 于 2016-06-19 19:13:59 编辑解决方案二: 你理解错了吧?看看他的定义解决方案三: classTA{publicvoidsee(){Console.WriteLine(newTB());}classTB{}} TB定义在TA之中,是私有的类,你不可能TA.TB去访问他但TA

c++-C++类的私有成员中定义了一个数组,怎么在构造函数中初始化这个数组?

问题描述 C++类的私有成员中定义了一个数组,怎么在构造函数中初始化这个数组? 写了这样一个类: class Base{ private: int r[MAX_SIZE]; int length; public: Base() { r[MAX_SIZE] = {1,2,0,5,8,9,7,3,6,4}; //编译的时候在这边出错 length = 10; } void swap_data(int,int); void Show(const Base &ob); friend int Bubble

如何访问一个类的私有内部类?

问题描述 如何访问一个类的私有内部类? 问题补充:牟盖东 写道 解决方案 通过反射,把它的访问性,强制设为 true,然后 invoke解决方案二:具体问题要具体分析了.你这个实际应用我还真没弄过.不过我想,要么,人家就是不打算让你动:要么,人家提供了其他的方法让你DIY,比如配置文件.API之类的,看看它的文档吧.解决方案三:哦,原来你是想改写之,这个是错误的.人家为什么设计成内部类?还是私有的?一定是有原因的.那你为啥想要改写?问一问自己的设计和思路是不是存在问题吧,我想一定是的.如果只是想