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 :
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;
si je compile mon application il me dit :
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 ========================================================================
 
	}
}