2010-04-23 55 views
0

我不明白使用「get」和「set」命令,如何使用下面的代碼添加帳戶列表,並且有人給我舉一些例子來修復錯誤?謝謝! :(C中的字符串句柄#

public class Account 
    { 

     public string UserName 

     {get rerurn textBox1.Test; // error 
     set UserName = textBox1.Text;} // error 

     public string Password { get; set; } 
     public string RePassword { get; set; } 
     public string Name { get; set; } 
     public string bd { get; set; } 
     public string dt { get; set; } 
     public string dc { get; set; } 
    } 
    public class ListAcc 
    { 
     static void Data() 
     { 
      List<Account> UserList = new List<Account>(); 
     } 
    } 

奧基,由於每個人,我已經固定的錯誤,但如果代碼:

public class ListAcc 
     { 
      static void Data() 
      { 
       List<Account> UserList = new List<Account>(); 
       //example of adding user account 
       Account acc = new Account(); 
       acc.Username = textBox1.Text; 
       UserList.Add(acc); 
      } 
     } 

有從訪問textBox1.Text一個錯誤(需要用於非靜態的對象引用字段,方法或屬性)...有人能幫忙嗎?

+0

非常感謝!現在我有這個問題! >。< 錯誤CS0038:無法通過嵌套類型'...'訪問外部類型'...'的非靜態成員 – 2010-04-23 06:09:56

+0

請看下面我的回答 – Marqus 2010-04-23 07:50:38

回答

5

更改用戶名的方法來

public string UserName 
    { 

      get { return textBox1.Text;} 
      set { textBox1.Text = value;} 
    } 
2
  1. Account類中沒有'textBox1'字段 - 我認爲您從其他代碼複製了該字段。
  2. 拼寫錯誤:應該是「迴歸」不退還或者拒不

    public class Account 
    {  
        public string UserName {get; set;}    
        public string Password { get; set; } 
        public string RePassword { get; set; } 
        public string Name { get; set; } 
        public string bd { get; set; } 
        public string dt { get; set; } 
        public string dc { get; set; } 
    } 
    public class ListAcc 
    { 
        static void Data() 
        { 
         List<Account> UserList = new List<Account>(); 
         //example of adding user account 
         Account acc = new Account(); 
         acc.UserName ="John Doe"; 
         UserList.Add(acc); 
        } 
    } 
    
+2

您不希望將模型與UI緊密結合。 – ChaosPandion 2010-04-23 06:05:20

+0

如何獲取文本框中的字符串值?很多錯誤{get;設置;} ... :( – 2010-04-23 06:24:06

+0

acc.UserName = textBox1.Text; – 2010-04-23 06:43:50

0

get和set應該花括號{},也輸入,而不是「返回」,「重播」被封閉,要解決這個問題,用戶名屬性更改爲:

public string UserName 
{ 
     get 
     { 
      return textBox1.Text; 
     } 
     set 
     { 
      textBox1.Text = value; 
     } 
} 

注:請確保您的類具有訪問「textBox1的」控制

0

get和set是屬性的getter和setter,所以當你調用這個屬性時,你得到的返回值就是你得到的。

當您將任何值賦予屬性時,它會將其賦值給您所說的變量variableName = value;

publuc string variableName 
    { 
    get; 
    set; 
    } 

當過你不想直接暴露任何變量(私有),你可以使用getter和setter varable名使的它的財產,否則單純的獲取;設置;會爲你做這份工作。

0

在窗體中添加一個新的文本框,並確保它被稱爲TextBox1,那麼你的第一個例子將工作。

public class Account {

public string UserName 

    {get rerurn textBox1.Test; // error 
    set UserName = textBox1.Text;} // error 

    public string Password { get; set; } 
    public string RePassword { get; set; } 
    public string Name { get; set; } 
    public string bd { get; set; } 
    public string dt { get; set; } 
    public string dc { get; set; } 
} 
public class ListAcc 
{ 
    static void Data() 
    { 
     List<Account> UserList = new List<Account>(); 
    } 
} Okey, thanks everybody, i had fixed that error but if code: 

public class ListAcc { static void Data() { List UserList = new List(); //example of adding user account Account acc = new Account(); acc.Username = textBox1.Text; UserList.Add(acc); } }