this.Type保留?应该报道

时间:2010-08-13 06:41:41

标签: c# visual-studio

昨天我发现我不能使用名为“Type”的字段,这可能是保留的。

虽然可以保留字段,但如果没有将Type字段定义为公共字符串,则仍然无法设置anyObject.Type。忽略任何getter和setter并直接跳转到将YourObject更改为“what”字符串。

亲自试试吧。定义“类型”字段并尝试进行设置。

这应该报告给Microsoft,因此将来没有人会使用“Type”作为字段,尝试定义它时没有警告/错误。

        public Point_Extended(Point p, booking b)
        {
            this.ID = p.ID;
            this.Type = p.Type;
            this.Status = p.Status;
            this.Size = p.Size;
            this.Coords = p.Coords;
            this.Color = p.Color;
            this.BuildingID = p.BuildingID;

            this.Login = b.Login;
            this.Starts = b.Starts;
            this.Hours = b.Hours;
            this.BookingID = b.ID;
        }

3 个答案:

答案 0 :(得分:4)

如果名称含糊不清 - 只需使用this.Type / obj.Type(实例),TypeName.Type(静态)或System.Type(类型)。或者在非常讨厌的情况下,global::System.Type。这工作得很好并且匹配问题(我认为):

static class Program
{
    static void Main() {
        Test anyObject = new Test();
        anyObject.Type = "abc";
    }
}
class Test
{
    public string Type;
}

答案 1 :(得分:0)

您在班级的本地范围内定义“类型”,例如

class SomeClass
{
    public string Type { get; set; }
}

然后在该类的某个方法中使用它,例如

class SomeClass
{
    public string Type { get; set; }

    public void DoSomeStuff()
    {
        Type = "Foo";
    }
}

SomeClass(属性)中的“Type”和命名空间System(类型)中的“Type”之间不明确。

答案 2 :(得分:0)

没关系。

ToString()覆盖表示让我感到困惑,认为Type已被更改。