如何在if语句中使用类

时间:2019-04-15 09:54:39

标签: c#

我正在尝试获取if语句来检查文件是否包含字母 “ M”,“ F”或“ U”

如果包含其他字母或不包含字母,则应返回false。

我遇到了错误:

  

“ CS1955 C#不可发音的成员“ SplitClass.Patient.Gender”不能像方法一样使用。”

如何解决此问题,以便可以在if语句中使用GenderOptions类?

 public class Patient
    {
        public int NHSNumber { get; set; }
        public DateTime DateOfBirth { get; set; }
        public string Title { get; set; }
        public string GivenName { get; set; }
        public string Surname { get; set; }
        public GenderOptions Gender { get; set; }

    }

    public enum GenderOptions
    {
        M,
        F,
        U
    };

    public enum TitleOptions
    {
        Mr,
        Master,
        Miss,
        Mrs,
        Ms,
        Mx

    };



    public bool Validation(Patient patient)
    {
        if (patient.NHSNumber > 10) return false;
        if (patient.NHSNumber < 10) return false;
        if (patient.DateOfBirth.Year > DateTime.Today.Year) return false;
        if (patient.DateOfBirth.Year < 1900) return false;
        if (patient.Gender != ("M","F","U")) return false;
    }

我也打算对TitleOptions做同样的事情,我只是困惑如何在if语句中正确使用Gender类。

  

//伪代码   如果(文件名)不包含“ M”,“ F”或“ U”

     

然后使用Console.WriteLine(“不包含有效的性别”);

1 个答案:

答案 0 :(得分:2)

您可以使用Enum.IsDefined

if (!Enum.IsDefined(typeof(GenderOptions), patient.Gender)){
    return false;
}

您还可以使用Enum.TryParse之类的东西