有this,this和this有关Enum VS Property name冲突的问题。C#Enum VS Nullable属性名称冲突
我的问题不是关于命名约定,而不是我想知道如何解决命名冲突在下面的代码所示:
namespace Test
{
public class Person
{
// 1)
// Gender? Gender { get; set; }
// 2)
Gender Gender { get; set; }
public Person()
{
// 1 - Error CS1061: Type `Test.Gender?' does not contain a definition for `Male' and no extension method `Male' of type `Test.Gender?' could be found (are you missing a using directive or an assembly reference?) (CS1061) (Test)
// 2 - OK
Gender = Gender.Male;
}
}
public enum Gender
{
Male = 1,
Female
}
}
如果我申报财产为2)Gender Gender { get; set; }
的代码编译成功,但是,如果我宣布在1)Gender? Gender { get; set; }
(代码中的注释以上)我得到的错误
Error CS1061: Type `Test.Gender?' does not contain a definition for `Male' and no extension method `Male' of type `Test.Gender?' could be found (are you missing a using directive or an assembly reference?) (CS1061) (Test)
它为什么会发生?
@Bobson:我觉得我的编辑解释了为什么我认为这是如此。 –
@Bobson:我已经编辑过,以展示如何解决这个问题。调整到您正在使用的命名空间。 –