类名 MaterialGroup.cspublic  static string Money=string.Empty;private static string _Money1=string.Empty;
public static string Money1
{
get
{
return this._Money1;
}
set
{
this._Money1=value;
}}
public string Money2=string.Empty;
private string _Money3=string.Empty;
public  string Money3
{
get
{
return this._Money3;
}
set
{
this._Money3=value;
}
}
在项目其他页面中调用
private MaterialGroup MaterialGroupItem=new MaterialGroup();MaterialGroup.Money 变量
MaterialGroup.Money1 属性
MaterialGroupItem.Money2 变量
MaterialGroupItem.Money3 属性各种用法的优劣及其可取性等等,想听听大家的看法及对此的理解,百家之长

解决方案 »

  1.   

    字段与属性
    字段是被视为类的一部分的对象的实例,通常用于保存类数据 
    private static string name=""; 
    属性特殊的类成员 
    尽可能的使用属性(property),而不是数据成员(field)。 
    把所有的字段都设为私有字段,则把它们封装成属性,字段就是作用于整个类的变量。 
    属性的实质是方法(get和set方法),数据安全
      

  2.   

    你想问的跟public还是private没关系...这是属性的概念,属性必须要有个private字段做存储变量,用private是因为封装不需要此字段公开...C# 3.0以上支持这样声明属性...
    public string Money{ get;set; }//编译时会自动生成一个private字段变量
      

  3.   

    private对外不公开,public对外公开。
      

  4.   

    属性(property)是字段的自然扩展,两者都是具有关联类型的命名成员,而且访问字段和属性的语法是相同的。然而,属性与字段不同,不表示存储位置。相反,属性有访问器(accessor),这些访问器指定在它们的值被读取或写入时需执行的语句。  
      属性的声明类似于字段,不同之处在于属性的声明以定界符{}之间的get访问器和/或set访问器结束,而不是分号。同时包含get访问器和set访问器的属性称为读写属性(read-write   property)。只具有get访问器的属性称为只读属性(read-only   property)。只具有set访问器的属性称为只写属性(write-only   property)。  
      get访问器相当于一个具有属性类型返回值的无参数方法。除了作为赋值的目标外,当在表达式中引用属性时,会调用该属性的get访问器以计算该属性的值。  
      set访问器相当于一个具有单个名为value的参数和无返回类型的方法。当一个属性作为赋值的目标,或者作为++或--运算符的操作数被引用时,就会调用set访问器,所传递的自变量将提供新值。  
      List类声明了两个属性Count和Capacity,依次是只读和只写的。下面是使用这些属性的示例:  
      List   names   =   new   List();  
      names.Capacity   =   100;                     //调用set访问器  
      int   i   =   names.Count;                       //调用get访问器  
      int   j   =   names.Capacity;               //调用get访问器  
      与字段和方法类似,对于实例属性和静态属性,C#两者都支持。静态属性是声明中具有static修饰符,而实例属性则没有。  
      属性的访问器可以是虚拟的。当属性声明中包含virtual,abstract,override修饰符时,它们将运用到属性访问器。
      

  5.   

    普通编程的话常用两种,结合来用:
    1.是公共静态变量(静态变量一般不做复杂的处理),好处是从头到尾就占用这一个内存单元,调用方便,当然如果对象过大且不常用,而不及时释放的话,用public static就得不偿失了
    2.私有字段加属性,强烈推荐,在属性的get,set中能做很多事情上面4中方案,看似两两效果相同,但真正涉及到安全和方便实用的话,当然还是推荐加上属性,这样不会损失资源,而且大大增加程序的可扩展性所谓属性,其实也是接口编程的重要方面
      

  6.   

    尽量是用属性,而不是 字段
    字段都应当private,
    CLR在处理属性和字段时会有不同的方式,虽然在使用时感觉是一样的,
    但是在运行时属性会有额外的好处。