Hiding the public members of a class without modifying the CLASS

B

Brahmam

HI,

Suppose i have the requirement that i want to hide the pubilc members
of a class without modifying the code inside the class

Example :
class A
{
public foo1();
public foo2();
public foo3();
public foo4();
public foo5();
public foo6();
public foo7();
public foo8();
public foo9();
public foo10();
}

I made this class as a DLL and i have given this DLL to the user. Now the
requirement is, For the user only 7 public methods has to be exposed and the
remaining 3 has not , for that what to do , I am not allowed to change the
code inside the class (But , i can implement this class), can anyone give me
the solution for this.

Thanks in advance,
BR.
 
G

Guest

Hi,

Once you declare the methods identifier as PUBLIC they will accessible to
everywhere.

I think what you are trying to do is not possible by this implementation.
you can achieve this by explosing another class if it can be inherited by
that DLL. In this class make methods public you want to explose and make
other methods private that you don't want to explose to user and then give
that DLL to user.

Regards,
Sachin Saki
..NET Developer, Capgemini - INDIA

"Brahmam" ने लिखा:
 
B

Brahmam

Hi sachin thanks for ur reply,

But if I create the instance of the base class I can use all the 10 methods
it has to be restricted .If I have created the instance of this base class
or any sub classes derived from this dllclass it will not allow u to use all
the methods

If u have any idea plz get back to my mail

Thanks in advance

BR
 
F

Francois Beaussier

Hi,

you can use encapsulation :

class A_User
{
private A a = new A();
public foo1() { a.foo1(); }
public foo2() { a.foo2(); }
public foo3() { a.foo3(); }
public foo4() { a.foo4(); }
public foo5() { a.foo5(); }
public foo6() { a.foo6(); }
public foo7() { a.foo7(); }
}

The user will use A_User and he will be able to call method foo 1 ot 7.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,527
Members
44,998
Latest member
MarissaEub

Latest Threads

Top