Operand ' ==' kann nicht auf Operanden vom Typ (struct) angewendet werden
-
12-12-2019 - |
Frage
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; }
}
Wenn ich den vorhergehenden Code eingebe, erhalte ich die Fehlermeldung,
operand '==' kann nicht auf Operanden vom Typ 'Life' angewendet werden.setGender' es ist das Leben.setGender'
(Der Namespace ist übrigens "Leben".Deshalb ist es das Leben.setGender')
Ich hatte versucht, es nachzuschlagen, aber ich weiß immer noch nicht, was das bedeutet.Könnte mir bitte jemand mit einem Fehler helfen.
Ich benutze C #.
Lösung
Ich bin mir ziemlich sicher, was Sie wirklich wollen, ist dies: generasacodicetagpre.
Andere Tipps
Sie müssen den generationspflichtigen Bediener generieren.Überprüfen Sie diesen Link auf MSDN: http://msdn.microsoft.com/de-us/library/dd183755.aspx
Ich sehe jedoch nicht, was mit diesem Code erreicht werden kann.ENUMs wäre angemessen, in diesem Fall nicht zu verwenden, keine Strukturen.
Sie versuchen, auf eine Instanzeigenschaft der Klasse zuzugreifen.Vielleicht möchten Sie Person.Gender == Gender.Male
in diesem Fall.
Beachten Sie auch, dass Ihre Benennung etwas abweicht.In C # -Typen verwenden Sie PascalCase
, ebenso wie Eigenschaften und Methoden.Felder und Einheimische Nutzung camelCase
.