不能访问我刚刚创建的类
本文关键字:创建 不能 访问 | 更新日期: 2023-09-27 17:53:37
希望这是一个简单的问题。我正在用c#构建一个简单的控制台应用程序。我有一个类:
using System;
using Filter;
public class Params
{
public string key;
public bool distinct;
public List<string> fields;
public string filter;
public int limit;
public int skip;
public bool total;
public List<Tuple<string, GroupType>> group;
public List<Tuple<string, OrderType>> order;
public Params()
{
key = "";
distinct = false;
fields = new List<string>();
filter = "";
group = new List<Tuple<string, GroupType>>();
limit = 0;
order = new List<Tuple<string, OrderType>>();
skip = 0;
total = false;
}
public void AddGroup(string field, GroupType type)
{
group.Add(new Tuple<string, GroupType>(field, type));
}
public void AddOrder(string field, OrderType type)
{
order.Add(new Tuple<string, OrderType>(field, type));
}
}
我的程序。cs类是:
namespace csharpExample
{
class Program
{
public static void Main(string[] args)
{
Params p = new Params();
Console.WriteLine("Test");
}
}
}
我想在Main()被调用的program.cs类中使用Params。我想我可以像上面那样简单地使用Params。我也尝试过使用Params;这两个都是错误的VS,因为它找不到指令。我也试过添加自己的命名空间:namespace MyNameSpace;在我的Params课上。当我这样做时,我仍然无法使用MyNameSpace;语句,因为它找不到。
我只是想提取出一堆函数到一个类,我可以重用。我如何调用这个类一旦它被创建?
-谢谢谢谢你的帮助。
如果您想访问Main函数中的Params对象,只需在顶部的Main
函数中添加Params p = new Params ();
。
很可能你的问题是Main是静态的,这意味着它不能访问它之外的其他非静态的东西。如果在Program类中声明了Params,除非将其设置为静态,否则无法在Main中访问。
你是在谈论调用构造函数还是你正在设置的属性?您可以在基类的顶部设置类,然后调用它的实例。但由于它是一个静态类,您可能应该在main中使用helper方法。
namespace Example
{
public class Program
{
Params p = new Params();
string writefromParams() // I exist just to give the string back from params with a nonstatic method
{
return p.key;
}
static void Main(string[] args)
{
Program p2 = new Program(); // set up a new instance of this very class
Console.WriteLine(p2.writefromParams()); // get non static method from class
Console.ReadLine();
}
}
}