[C#] Comment correctement programmer orienté objet ?
Bonjour a tous,
J'ai un p'tit souci au niveau de la creation d'une classe de log !
J'ai cree un projet en mode console sous vs 2003 c# et cree aussi un fichier nommé LogError avec cette methode :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
private string fichier = "AccountingLogFile.txt";
public LogError()
{
}
#region Method existFile =========================================================
/// <summary>
/// Verify is the file exist
/// </summary>
/// <param name="fichier">the file s name</param>
public void existFile(string fichier)
{
//FileInfo fi = new FileInfo(log);
if(!File.Exists(fichier)) //(!fi.Exists)
{
FileStream fs = new FileStream(fichier,FileMode.CreateNew);
fs.Close();
Console.WriteLine("Fichier crée"+ fichier);
}
else
Console.WriteLine("Le fichier " + fichier + " " + "existe !");
} |
bon donc dans mon fichier class1 et la methode void main j'appelle j'instancie diront les experts ma classe LogError avec ma variable le !
Ok ca marche sauf quand j'essayes d'appeller la methode existFile il me demande le parametre qui est le nom du fichier log !
Ce fichier je l'ai declare dans la classe LogError en champ prive !et ce afin de faire de l'encapsulation si je ne me trompe pas !
Donc ma question est celle ci comment dois je faire pour pouvoir avoir acces a mes methdes,+ variables de ma classe LogError dans mon fichier class1 ?
Code:
1 2 3 4 5 6
|
static void Main(string[] args)
{
LogError le = new LogError();
le.existFile();
} |
Vous l'aurez remarque je debute ...
Merci et bonne semaine ...
Christophe
Re: [debutant]Encapsulation + classe
Salut .
C'est normal qui te demande un parametre avec le nom du fichier vu que ta methode demande un parametre. La programmation Objet n'est pas miraculeuse (seulement un peu plus obscur au depart :D ). Ce n'est pas parce que tu donne le meme nom a ton argument de fonction que le compilateur va savoir qu'il doit utiliser la variable d'instance de ta classe.
Ton code corrigé donne ça :
Citation:
Envoyé par ChristopheOce
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
private string fichier = "AccountingLogFile.txt";
public LogError()
{
}
#region Method existFile =========================================================
/// <summary>
/// Verify is the file exist
/// </summary>
public void existFile()
{
//FileInfo fi = new FileInfo(log);
if(!File.Exists(fichier)) //(!fi.Exists)
{
FileStream fs = new FileStream(fichier,FileMode.CreateNew);
fs.Close();
Console.WriteLine("Fichier crée"+ fichier);
}
else
Console.WriteLine("Le fichier " + fichier + " " + "existe !");
} |
tout simplement.
je te conseil d'aller voir les cours de la section dotnet et les cours sur la programmation objet