问题是在我创建Web用户控件的时候产生这样的疑问的.
Private string strLoginid
{
   set{
      loginid.text = value;//只写属性
   }
   get{
      return loginid.text;//只读属性
   }
}
value?怎么样的东西,开始以为是自定义的参数,后来才知道是个隐式参数.
如果这里自己定义一个参数来代替它,该怎么做呢.请不吝赐教.

解决方案 »

  1.   

    属性其实就是方法
    get set 各对应一个看看 il 就清楚了
      

  2.   

    Private string strLoginid (string my_value)

       set{ 
          loginid.text = value;//只写属性 
       } 
       get{ 
          return loginid.text;//只读属性 
       } 

    这样??
      

  3.   

    Private string strLoginid (string my_value) 
    {  
       set{  
          loginid.text = my_value;//只写属性  
       }  
       get{  
          return loginid.text;//只读属性  
       }  
    }  
    这样?? 
      

  4.   

    Private string strLoginid 

       set{ 
          loginid.text = value;//只写属性 
       } 
       get{ 
          return loginid.text;//只读属性 
       } 
    }等同于
    private void SetstrLoginid(string value)
    {
       loginid.text = value;
    }private string GetstrLoginid()
    {
       return loginid.text; 
    }public property string strLoginid read GetstrLoginid write SetstrLoginid;这个是类似以前Delphi的写法,为了简单就变现在那样了。
    知道是个什么意思就行了,说白了就是最后一句靠编译器实现,意思是声明一个字符串属性strLoginid,取值的时候用GetstrLoginid方法,赋值的时候用SetstrLoginid方法。
      

  5.   

    value  在C# 里面是一个 准关键字了!
     你为什么要修改 呢?
      

  6.   

    没有必要的吧,实在是想那样的话,示意如下
    object myValue;
    Private string strLoginid  
    {  
       set{  
          getMyValue();//这里先将自己定义的myValue获取到值
          loginid.text = myValue;//只写属性  
       }  
       get{  
          return loginid.text;//只读属性  
       }  

      

  7.   

    public string strLoginid 

       set{ 
          loginid.text = value;//只写属性 
       } 
       get{ 
          return loginid.text;//只读属性 
       } 
    } 在编译成IL以后会变成两个方法,分别是
    string get_strLoginid ()

    void set_strLoginid (string value)不存在属性了。在这里,value的名字是不能改的。
      

  8.   

    public string strLoginid  
    {  
      set{  
      loginid.text = value;//只写属性  
      }  
      get{  
      return value;//只读属性  
      }