| Author |
Message |
complete Gold Star Poster!

Joined: 20 Dec 2005 Posts: 109
|
Posted: Thu Jan 15, 2009 7:12 pm Post subject: What is the equivalant of a 'friend' keyword in C Sharp? |
|
|
What is the equivalant of a 'friend' keyword in C Sharp?
How do I use the 'internal' keyword?
I have read that 'internal' keyword is a replacement for 'friend' in C#.
I am using a dll in my C# project that I have the source code for and yet I do not want to modify the existing code. I have inherited the class and I can use my inherited class any way I want. The problem is that most of the code in the parent class has private methods. Will using a friend somehow make it possible to access or call these private methods?
I have been dold that if I have inherited from a base class, I should be able to access all the protected methods from the inheriting class. Therefore I should not need any "friend" equivalent. But does that also hold true for private methods? |
|
| Back to top |
|
 |
Machaira King Code Monkey

Joined: 01 Sep 2004 Posts: 10837 Location: Abingdon, MD
|
Posted: Thu Jan 15, 2009 8:35 pm Post subject: |
|
|
Private members of a class can only be called from inside that class, not from inheriting classes. You need to declare them protected for that.
internal is only for code within the same assembly so doesn't apply to your situation. _________________ Bored? Head on over to my blog and see what I'm up to.
Microsoft XNA MVP |
|
| Back to top |
|
 |
workmad3 Bibliotherapist

Joined: 21 Dec 2005 Posts: 6274 Location: Manchester, UK
|
Posted: Fri Jan 16, 2009 12:07 am Post subject: |
|
|
I think you may be able to call the methods using hacky reflection techniques... I wouldn't advise it though. If something is private it is most likely for a reason. If you can change it but don't want to, then ask yourself why not (there should be a good reason for them being private after all). If you can't change it because you don't have the source, then ask yourself why you think you know how to call it? It's not part of the documented interface, you could screw up anything by doing so.
Access modifiers shouldn't be ignored. _________________ God must love stupid people, he made so many.
theraje: 'God doesn't love stupid people, they're just easier to make'
http://sharedillusions.blogspot.com |
|
| Back to top |
|
 |
|