[英]How do I pass a simple (enumeration) parameter into a class in C#?
class Person //I'm want to pass the parameter "Gender"
{
public string firstName;
public string lastName;
public int age;
//public string gender;
這是我正在使用的一段代碼。 我是編程的新手,我正在使用C#。 我有一個名為“性別”的枚舉,它由“男性”和“女性”組成。 我有一個名為“Person”的類,我想傳遞一個參數告訴系統每個新的“人”必須有性別,男性或女性。 我很確定我應該將參數傳遞給靠近班級的頂部附近。
我想傳遞一個參數,告訴每一個新系統
Person
必須有一個性別
你通過構造函數強制執行:
public class Person //I'm want to pass the parameter "Gender"
{
public string firstName;
public string lastName;
public int age;
public Gender gender; // recommend storing the enum instead of a string
public Person (Gender gender)
{
this.gender = gender;
}
}
使用參數實現構造函數會刪除“默認”構造函數,因此創建Person
任何Person
必須提供性別。
我還建議使用屬性而不是字段,但這是一個單獨的問題...
首先,您可以輕松地為人類的性別添加一個性別類型的新成員(我認為,這是枚舉的名稱):
public Gender Gender;
由於你想強迫一個人在創建對象時必須具有特定的性別,你需要在類的構造函數中規定:
public Person(Gender PersonGender)
{
Gender = PersonGender;
}
所以你的班級會變成這樣:
class Person
{
public string firstName;
public string lastName;
public int age;
public Gender Gender;
public Person(Gender PersonGender)
{
Gender = PersonGender;
}
}
請注意,在C#中,與C / C ++不同, 將方法和成員放在何處並不重要。 只是讓它們井井有條,便於閱讀。
class Person
{
public string firstName;
public string lastName;
public int age;
public Gender Gender;
}
有關C#中enum
類型的更多信息,請參閱MSDN 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.