Bonjour a tous,
Je debute sous c# 1.1 !
J'ai une p'tite application console qui ne fait que de prendre un path et si celui ci est un repertoire le programme liste les fichiers contenus dans ce repertoire !
Le probleme qui est en partie resolu mais que je ne comprends pas est celui ci !
J'ai declarer deux champs comme ceci :
private string okUrl ="";
private int i = 0;
ils sont declares juste apres :
si je compile mon application il me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // <summary> /// Summary description for Class1. /// </summary> class Class1 { private string okUrl =""; private int i =0;
an object reference is required for the non static ....
et impossible donc de compiler !!!!
par contre si je mets devant mes variables static cela tourne
idem pour une methode !
Donc ma question est celle ci ?
Que veux dire ce message d'erreur et pourquoi si je mets static cela fonctionne t il ?
Mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 using System; using System.IO; namespace AccountingTools { /// <summary> /// Summary description for Class1. /// </summary> class Class1 { private string okUrl =""; private int i =0; /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main(string[] args) { // TODO: Add code to start application here Console.WriteLine(" Welcome to the Accounting Tools "); Console.WriteLine("----------------------------------\n"); string folderPath = Console.ReadLine(); okUrl = splitBadCharacter(folderPath); DirectoryInfo theFolder = new DirectoryInfo(okUrl); //Si n existe pas if(theFolder.Exists) { //Diplay the files in a sub directory foreach(FileInfo nextFile in theFolder.GetFiles()) { Console.WriteLine(nextFile.Name); if((nextFile.Extension == ".txt")||(nextFile.Extension == ".doc")) { i++; } } } //Affichage Console.WriteLine("Fichier trouve " + i); Console.ReadLine(); //End static } #region Method split bad character ================================================ /// <summary> /// Split bad character /// </summary> /// <param name="folderPath">Name of folder</param> /// <returns>return the correct url</returns> private static string splitBadCharacter(string folderPath) { char[] badCharacter = {'"' ,',' ,'/'}; //Contains {" , /} string [] stringArray = folderPath.Split(badCharacter); foreach(string s in stringArray) { okUrl+=s; } return okUrl; } #endregion ======================================================================== } }
Partager