这段代码正在创建一个getter吗?我想把这个翻译成C#

这段代码正在创建一个getter吗?我想把这个翻译成C#,c#,vb6,vb6-migration,C#,Vb6,Vb6 Migration,我正在尝试将这段代码翻译成C。我还试图理解这段代码的逻辑。我现在有这个代码 Private Samples As Collection Public Function Count() As Integer Count = Samples.Count End Function 这是用c写的 这是作为属性实现的等效项(就像您尝试的那样): 完全等效:作为一种常规方法,您可以这样做: public int Count { get { return Samp

我正在尝试将这段代码翻译成C。我还试图理解这段代码的逻辑。我现在有这个代码

Private Samples As Collection
Public Function Count() As Integer

    Count = Samples.Count

End Function

这是用c写的

这是作为属性实现的等效项(就像您尝试的那样):

完全等效:作为一种常规方法,您可以这样做:

public int Count
{
    get
    {
        return Samples.Count;
    }
}
但是,下面的代码创建了一个默认的setter和getter。在本例中不需要setter,getter也不会返回_counthidden字段的值。但它返回列表的计数

public int Count()
{
    return Samples.Count;
}
这些是自动实现的属性,相当于:

Public int Count {get; set;}

这是作为属性实现的等效项(就像您尝试的那样):

完全等效:作为一种常规方法,您可以这样做:

public int Count
{
    get
    {
        return Samples.Count;
    }
}
但是,下面的代码创建了一个默认的setter和getter。在本例中不需要setter,getter也不会返回_counthidden字段的值。但它返回列表的计数

public int Count()
{
    return Samples.Count;
}
这些是自动实现的属性,相当于:

Public int Count {get; set;}
private Collection Samples{get;set;}
公共整数计数(){
返回样品。计数;
}
私人收集样本{get;set;}
公共整数计数(){
返回样品。计数;
}

不,如果它说的是
函数
,它的意思是函数。相反,如果它说
Property
,它将是一个属性,然后(可选地)只能包含一个getter

精确的等价物是:

private Collection<object> Samples { get; set; }
public int Count() {
  return  Samples.Count;
}

在VB中,括号在调用无参数函数时是可选的,因此您可能会看到调用上述函数的代码只是说
Count
,而不是说
Count()

否,如果说
function
,则表示函数。相反,如果它说
Property
,它将是一个属性,然后(可选地)只能包含一个getter

精确的等价物是:

private Collection<object> Samples { get; set; }
public int Count() {
  return  Samples.Count;
}

在VB中,括号在调用无参数函数时是可选的,因此您可能会看到调用上述函数的代码只是说
Count
而不是
Count()

,另一个答案是优化。。这是它看起来的样子另一个答案是优化的。。这就是它的样子