操作数'=='不能应用于类型(struct)的操作数

Mak*_*kai 1 c# struct operands equals-operator

public class Human
{
    public setGender Gender { get; set; }

    public void setHeight(Human Person)
    {
        if (Person.Gender == setGender.Male) // <-- This is where the error is.
        {

        }
    }
}

public struct setGender
{
    public static setGender Male { get; set; }
    public static setGender Female { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我输入上面的代码时,我得到这个错误说,

操作数'=='不能应用于'Life.setGender'和'Life.setGender'类型的操作数

(顺便说一下命名空间是"生命".这就是为什么它是'Life.setGender')

我曾试图查一查,但我仍然不知道这意味着什么.有人可以帮我解决错误.

我正在使用C#.

And*_*ell 13

我很确定你真正想要的是这个:

public enum Gender 
{
    Male, Female
}

public class Human
{
    public Gender Gender { get; set; }

    public void setHeight(Human person)
    {
        if (person.Gender == Gender.Male)
        {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)