2010-01-04 36 views
0

我正在处理我的第一个C#程序,并遇到了一堵砖墙。我希望能够在同一个应用程序中设置和获取不同形式的变量。如何跨多种表单使用相同的信息

我创建了一个名为“数据”类,它包含以下内容:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace Application1 
{ 
    public class data 
    { 

     public string SearchAirport 
     { 
      get 
      { 
       return searchairport; 
      } 
      set 
      { 
       searchairport = value; 
      } 


     } 
    } 
} 

什么,我需要把我的形式才能够使用这个类?

现在我只有:

data.SearchAirport = commandAirport; 
string working = data.SearchAirport; 

我知道我必须添加别的东西,从得到保留:

“错误11需要一个对象引用的非静态字段,方法或属性 'Sector_Datastore_2._0.data.SearchAirport.get' ......”

错误

+0

我很想指出UnityContainer,依赖注入和控制反转,但是这可能不是你关心的那一刻:) – 2010-01-04 20:43:37

回答

1

您正在静态访问searchAirport,并且该方法本身不是静态的。

您可以将static关键字添加到SearchAirport方法签名或创建一个data对象,然后在该对象上调用SearchAirport

0

数据d =新数据();

....这些线路

2

好之前,你需要声明searchairport:

public class data 
{ 
    private string searchairport; 

    public string SearchAirport 
    { 
     get 
     { 
      return searchairport; 
     } 
     set 
     { 
      searchairport = value; 
     } 


    } 
} 

或者,你可以让C#自动做使用下面的代码:

public class data 
{ 
    public string SearchAirport 
    { 
     get; 
     set; 
    } 
} 
+2

如果你真的很懒,你会输入'prop',然后输入2个选项卡。 – 2010-01-04 20:48:10

+1

如果你真的很懒,你会输入prop,然后输入* single *标签(谢谢R#) – 2010-01-04 22:53:59

+0

如果你真的真的很懒,那么你可以使用蝴蝶。 – 2010-01-05 00:30:16

1

我会建议一个Service Locator模式,但恐怕对于问题海报想要实现的方式来说太复杂了。

以防万一这可能是有用的后面:Service Locator pattern

相关问题