In the below example i want to create folder in nested class constructor:
namespace Nm
{
class Outer
{
private const string s1 = "@.\bin";
void O1()
{
Nested nestedFile = new Nested();
nestedFile.FileName = "Queue1";
}
}
internal class Nested
{
public string FileName
{
set
{
Directory.CreateDirectory(s1); // !
fileName = s1+ value + ".dat";
Console.writeLine(fileName);
}
}
}
}
Répondre
Absolument - même manière que vous le feriez normalement:
class Outer
{
private void Foo()
{
Nested nested = new Nested("bar");
}
class Nested
{
internal Nested(string x)
{
...
}
}
}
OK.J'ai la première classe imbriquée instanciée a effectué un traitement/validation. puis à un certain point, la classe externe change la valeur de s1, alors? – myWorld
@ starz26: les chaînes de caractères .NET sont immuables. Chaque fois que vous les modifiez, vous créez une nouvelle instance. De toute façon, les changements de chaîne externes n'affecteront pas une chaîne passée à une classe imbriquée – abatishchev
@ starz26, si c'est const, vous ne pouvez pas changer la valeur, mais si vous en faites un membre de champ privé et passez une instance de la classe Outer au Constructeur imbriqué, le constructeur imbriqué peut accéder au champ privé. C'est l'un des principaux avantages des classes imbriquées, car cela vous permet de bénéficier de l'encapsulation de classe (pour organiser les responsabilités), mais vous devez quand même partager un état étroitement couplé. –
En ce qui vous classe est internal
(pas externe- private
), vous pouvez le faire suivant:
class Outer
{
internal const string s1 = "@.\bin";
}
internal class Nested
{
public string FileName
{
set
{
Outer.s1;field
}
}
}
Mais une classe dans votre assemblage aura accès à ce champ
- 1. Devrais-je avoir un constructeur dans une classe dérivée?
- 2. Pouvons-nous avoir un constructeur privé dans une classe statique?
- 3. Classe imbriquée ou classe imbriquée?
- 4. Réflexion pour trouver une classe imbriquée?
- 5. Constraint - La classe dérivée doit avoir un constructeur par défaut
- 6. Constructeur pour la classe
- 7. constructeur par défaut pour une classe héritée
- 8. Java: retourne une classe imbriquée statique
- 9. Requête NHibernate contre une classe imbriquée
- 10. Comment avoir une condition dans une requête SQL imbriquée?
- 11. Sortie d'une classe imbriquée dans un modèle
- 12. Classe imbriquée JavaScript
- 13. Développement d'une classe de produits avec une classe imbriquée .Net
- 14. SQLalchemy avec la classe imbriquée
- 15. Classe imbriquée Jython et Java
- 16. Refactorisation: Classe imbriquée ou classes séparées?
- 17. C++ retournant une classe imbriquée avec un modèle sur un problème de classe de base
- 18. Constructeur pour un struct
- 19. Une sous-classe peut-elle également hériter du constructeur de la classe parente, ou chaque classe doit-elle avoir son propre constructeur?
- 20. Est-ce que SwingWorker doit être une classe imbriquée?
- 21. Comment rendre un constructeur disponible uniquement pour la classe d'usine?
- 22. Dans quels champs une classe imbriquée peut-elle accéder à la classe dans laquelle elle est imbriquée?
- 23. C# - Désérialise une classe avec un constructeur interne
- 24. Classe Constructeur/Setter
- 25. Comment puis-je avoir un constructeur par défaut optionnel?
- 26. Comment appeler le constructeur no arg après avoir déjà créé un objet de la classe?
- 27. Créer une classe générique avec constructeur interne
- 28. constructeur de classe
- 29. PHP: Comment détecter si une certaine classe a un constructeur?
- 30. Envelopper une collection imbriquée
Quel est exactement le problème? – Nissim