Comment accéder à la fonction privée d'une classe dans une autre classe en c#?
Je suis nouveau dans la programmation en c# et je sais que membre de données publiques de classe est accessible à partir d'une autre classe.Est-il possible que je peux accéder à fonction privée d'une autre classe?
C'est ce que j'ai essayé.merci de m'aider.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication7
{
class Program
{
private class Myclass
{
private int Add(int num1, int num2)
{
return num1 + num2;
}
}
static void Main(string[] args)
{
Myclass aObj = new Myclass();
//is there any way i can access private function
}
}
}
Pourquoi ne pouvez-vous pas faire un
Faire
Pourquoi!!!!!! quel est votre problème?
Pourquoi voulez vous accéder à une méthode privée? Qu'est-ce que vous essayez d'accomplir, exactement?
Clairement Srividhya a concocté un exemple trivial pour s'assurer que sa question peut être comprise. On suppose qu'il n'a aucun désir de réellement exécuter Add(1, 2), car alors 1 + 2 serait probablement travailler.
public
fonction?Faire
public
.Pourquoi!!!!!! quel est votre problème?
Pourquoi voulez vous accéder à une méthode privée? Qu'est-ce que vous essayez d'accomplir, exactement?
Clairement Srividhya a concocté un exemple trivial pour s'assurer que sa question peut être comprise. On suppose qu'il n'a aucun désir de réellement exécuter Add(1, 2), car alors 1 + 2 serait probablement travailler.
OriginalL'auteur SrividhyaShama | 2013-12-15
Vous devez vous connecter pour publier un commentaire.
Salut vous pouvez utiliser la réflexion pour obtenir une composante d'une classe.
ici est un modèle de démonstration. Essayez
Il est connu que la réflexion.
OriginalL'auteur Chandan Kumar
Autres que par l'aide de la réflexion, vous ne pouvez pas. Comme une question de fait, les membres sont fait
private
exactement ce qu'ils ne peut pas être accessible depuis l'extérieur de la classe.Probablement un peu étrange de la langue, "comme une question de fait".
OriginalL'auteur O. R. Mapper
De ce que je vois dans ton code, je pense que ce que vous voulez est d'avoir un accessible
Add
fonction.Si c'est ce que vous voulez, vous n'avez pas besoin de la classe, il suffit de mettre votre
Add
fonction de votreProgram
classe et de le rendrestatic
.Si vous avez vraiment besoin de votre classe, alors vous devez vous poser la question: est la fonction que j'écris conçu pour être accessible à l'extérieur de la classe, ou doit-il seulement être appelée à l'intérieur de ma classe.
Si la réponse à la 1ère question est oui, alors le rendre public.
C'est un problème de conception, de sorte que vous devriez vous concentrer sur ce point.
Même si vous pouvez accéder à l'aide de la réflexion, il y a très très peu de cas où c'est une bonne chose à faire. La réflexion est le dernier recours, si vous pouvez le faire d'une autre façon, vous devez utiliser l'autre sens.
OriginalL'auteur ppetrov
Vous pourriez par la Réflexion, mais pourquoi voudriez-vous faire cela?
OriginalL'auteur user3104183