2016-07-19 14 views

Antwort

4

Nein, wenn es Function sagt, bedeutet es, Funktion. Umgekehrt, wenn es Property sagte, wäre es eine Eigenschaft und könnte dann (optional) nur ein Getter enthalten.

Die genaue Entsprechung ist:

public int Count() { 
    return Samples.Count; 
} 

Wo Sie oben schaut auf den Aufrufcode ausgelöst worden sein - in VB, die Klammern sind optional, wenn eine parameterlos Funktion aufrufen, so können Sie Code, der aufruft sehen die obige Funktion sagt nur Count anstatt Count().

1

Dies entspricht als Eigenschaft implementiert (wie Sie versucht zu tun):

public int Count 
{ 
    get 
    { 
     return Samples.Count; 
    } 
} 

Die genaue Äquivalent:

public int Count() 
{ 
    return Samples.Count; 
} 

jedoch die: Als normale Methode Sie dies tun würde Unter dem Code wird ein Standard-Setter und Getter erstellt. Sie benötigen in Ihrem Fall keinen Setter, und der Getter gibt den Wert von _count hidden field nicht zurück. Aber es gibt die Zählung der Liste zurück.

Public int Count {get; set;} 

Das sind automatisch implementierte Eigenschaften, die gleichwertig sind:

private int _count; 
public int get_Count() 
{ 
    return _count(); 
} 

public void set_Count(int value) 
{ 
    _count = value; 
} 
2
private Collection<object> Samples { get; set; } 
public int Count() { 
    return Samples.Count; 
} 
+0

Die andere Antwort ist die optimierte .. so sieht es aus – NtFreX