문제

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; }
}

을 넣을 때에는 위의 코드,이러,말

피연산자'=='에 적용할 수 없습니다 피연산자 형식의'생명이다.setGender' 그리고'삶입니다.setGender'

(네임스페이스입니다"생명"에 의해 방법입니다.그 이유는 그것은'생활이다.setGender')

하려고 했던 그것을 보지만 난 아직도 무엇인지 모르는 것은 그것이 의미하는 것입니다.할 수 있는 사람이 있었을 도와주세요 오류가 있습니다.

내가 사용하는 C#.

도움이 되었습니까?

해결책

나는 당신이 정말로 원하는 것을 꽤 확신합니다 :

public enum Gender 
{
    Male, Female
}

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

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

        }
    }
}
.

다른 팁

== 연산자를 무시해야합니다.msdn : http://msdn.microsoft.com/en-us/library/dd183755.aspx

그러나 나는이 코드로 무엇을 수행 할 수 있는지 보지 못한다.enums는 구조체가 아닌이 경우에 사용하기에 적합합니다.

당신은에 액세스하려고 하는데 인스턴스에서 속성 클래스입니다.할 Person.Gender == Gender.Male 이 경우.

또한 귀하의 지명은 조금 떨어져.C#형식 사용 PascalCase, 로,속성 및 방법입니다.필드를 사용하여 지역 주민 camelCase.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top