[C#][debutant]erreur => object reference is required for a no
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:
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:
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 ========================================================================
}
} |