0

我有一个结构

namespace lib
{
    public struct strct_Test
    {
       int a;
       string b;
    }
}

我正在做的其他一些事情

using lib;

class one
{
    private strct_Test var;

    public strct_Test Var
    {
       get {return var;}        // or should it be like return var.a; return var.b;
       set {var = value;}       // or should it be like var.a = value; var.b = value
    }
}

那么任何人都可以指导代码注释中提到的正确方法吗?

4

3 回答 3

3

属性的类型Varstrct_Test

这意味着 getter 和 setter 应该使用该类型,就像您在代码中所做的那样。

否则会导致编译错误。

于 2013-04-16T13:19:04.520 回答
1

问问自己你想做什么

您应该认为我是否直接需要其中一些值?
所以为你使用的每个值写属性(不是你所有的

我会从其他班级替换整个结构吗?
所以为你的结构写属性

于 2013-04-16T14:00:54.873 回答
0

正确的方法取决于您希望代码的结构。

在您的示例中,您定义了 type 的不可变属性。strct_Test,所以如果你
做这样的事情:

var o = new one(); 
o.Var.a = 10; 

var x = o.Var; 

//x.a != o.Var.a; 

希望这可以让您了解代码的行为,以便您可以决定它是否是您具体案例的最佳架构。

于 2013-04-16T13:22:27.077 回答