类库中的数据持久性在一个类方法之间

我正在使用.NET创建AutoCAD的类库。 问题是这些方法是从AutoCAD一个接一个地调用的,第一个读取输入文件并在内存中创建数据列表。但是,当调用新的列表时,列表为空。 我需要找到一个如何保存这些数据的解决方案。 List包含我创建的结构中的数据。方法是独立调用的,但是按顺序调用。 短代码示例:
namespace GeoPjuvis
{
   ...

public class Program
{
    ...

//program variables 
private List<GeoData> dataList;
private List<DataPoint> points;
private int mapScale;

public Program()
{
    dataList = new List<GeoData>();
    points = new List<DataPoint>();
}

//Initialization method of the program. Makes praperations. Reads files. Add points to map.
[CommandMethod("geoinit", CommandFlags.Session)]
public void Init()
{
    ...
}

//method uses data gathered before and selects points  
[CommandMethod("selectPoints", CommandFlags.Session)]
public void SelectPoints()
{

    ...

}...
那么当我调用SelectPoints()方法时,为什么这些dataList和points列表是空的。以及如何避免这种情况?     
已邀请:
我不知道AutoCAD的编程,但我怀疑它每次都在创建一个新的实例。您可以尝试将变量设为静态(例如,类级别):
private static List<GeoData> dataList = new List<GeoData>();
    
每次调用方法时它是否实例化一个新类? (原谅我,我不熟悉AutoCAD的编码。)尝试使类静态。如果这不起作用,您可以将第一种方法的值返回给AutoCAD,并将它们作为参数发送到下一个方法吗?请记住,这不是性能的最佳解决方案。 另外,作为参考,请看一下C#中的Singleton实现: http://msdn.microsoft.com/en-us/library/ff650316.aspx     
根据您提供的信息,AutoCAD会为每个方法调用创建一个新对象实例吗?这可以解释为什么您的实例变量为空。 尝试将变量设置为静态,并查看数据是否在方法调用中持续存在。 AutoCAD文档是否有编写这些程序的任何说明?     
看起来你正在调用你的类的一个新实例,你可以实现一个单例模式,以确保你总是调用相同的实例或保持点并加载它们第二次。 这是c#中Singleton实现的一个很好的链接,http://csharpindepth.com/Articles/General/Singleton.aspx     

要回复问题请先登录注册