我想从GetDataTabletFromCSVFile
类调用PRogram
方法,但是当我尝试创建ReadCSV
类的实例时,我收到此错误:{{1} }
以下是我的代码:
Type or name space could not be Found
答案 0 :(得分:2)
C#中的static
关键字完全改变了您声明它的类型/成员的行为。
以下是Microsoft .NET Documentation.
使用static修饰符声明一个静态成员,该成员属于该类型本身而不是特定对象。
这解释了static
方法在调用之前不需要声明实例的方法。考虑它的一种简单方法是static
使用type
声明作为namespace
而不是object
成员。
以下代码可用于实现您想要的结果:
class Program
{
static void Main(string[] args)
{
//Using command line arguments here would be a good idea.
string path = "Some/Random/Directory/File.csv";
var dataTable = ReadCSV.GetDataTabletFromCSVFile(path);
//Now do something with dataTable...
}
}
//It would be a good idea to declare the class as static also.
public static class ReadCSV
{
//reading data from CSV files
public static DataTable GetDataTabletFromCSVFile(string csv_file_path)
{
//You will also need to return something here.
}
}
答案 1 :(得分:1)
您无需为静态方法创建实例。您可以使用类名本身直接访问静态成员。
class Program
{
static void Main(string[] args)
{
DataTable Tbl = ReadCSV.GetDataTabletFromCSVFile(path);
}
}
public class ReadCSV
{
//reading data from CSV files
public static DataTable GetDataTabletFromCSVFile(string csv_file_path)
{
}
}
答案 2 :(得分:0)
你必须声明静态类ReadCSV。要使用静态方法,其类必须是静态的
public static class ReadCSV
{
//reading data from CSV files
public static DataTable GetDataTabletFromCSVFile(string csv_file_path)
{
//You will also need to return something here.
}
}
并在主
class Program
{
static void Main(string[] args)
{
DataTable Tbl = ReadCSV.GetDataTabletFromCSVFile(path);
}
}