-1

如何在 Visual Studio 中使用 propfull tab 工具?

Class Foo
{
public int regirsterR0
    {
        get { return R0; }
        set { R0 = value; }
    }
}

我将如何使用另一个类的 get 和 set 方法?假设这个方法在一个名为 foo 的类中。我将如何在 goo 中使用 foo 的 get 和 set?

Class Goo
{
  Foo g= new Foo();
  g.regirsterR0.Get?????
}
4

3 回答 3

3

首先,这称为片段(还有很多其他的!)。这个创建了一个完整的属性( MSDN ) 定义。

回答你的问题;你只是把它当作一个字段来使用:

var test = g.Register0; //invokes get
g.Register0 = 2; //invokes set

get并且set是在访问或分配相关属性时调用的很好的方法抽象。

请注意,您甚至不需要片段;您可以使用自动属性

public int RegisterR0 { get; set; } //Properties are PascalCase!
于 2014-11-11T00:39:47.983 回答
2

Get 和 Set 不是一个值或方法。实际上它们是像控制机制一样的属性。(封装原理)

例如:

var variable = g.Register0; // so it is get property. // like a var variable = 5;
g.Register0 = 5; // so it is set property.

看msdn解释。

于 2014-11-11T00:47:10.023 回答
0

您只是忘记了创建方法。:-)

class Foo
{
    private int regirsterR0;

    public int RegirsterR0
    {
        get { return regirsterR0; }
        set { regirsterR0 = value; }
    }
}

class Goo
{
    Foo g = new Foo();

    void myMethod()
    {
        // Set Property
        g.RegirsterR0 = 10;
        // Get property
        int _myProperty = g.RegirsterR0;
    }

}

如果你想用 Value 初始化类 Foo 的新对象,你可以:

class Foo
{
    private int regirsterR0;

    public int RegirsterR0
    {
        get { return regirsterR0; }
        set { regirsterR0 = value; }
    }
}

class Goo
{
    Foo g = new Foo() { RegirsterR0 = 10 };

    void myMethod()
    {
        Console.WriteLine("My Value is: {0}", g.RegirsterR0);
    }
}

但通常你不需要使用 propfull。如果你使用 prop + 2xTAB 就可以了。例子:

class Foo
{
    public int RegirsterR0 { get; set; }
}

class Goo
{
    Foo g = new Foo() { RegirsterR0 = 10 };

    void myMethod()
    {
        Console.WriteLine("My Value is: {0}", g.RegirsterR0);
    }
}

工作相同,更容易阅读。

于 2014-11-11T00:55:52.250 回答