| Eigenschaft in der C# Kategorie |
 |
 |
|
Eigenschaft in der C# Kategorie
|
|
Wie machen wir Mitgliedsvariablen irgendeiner Kategorie außerhalb von der Kategorie zugänglich? In die meisten Sprachen einschließlich C++, bilden wir die Mitgliedsvariablen öffentlichkeit, damit wir einen Fall der Kategorie verursachen können und die öffentlichkeit direkt zugänglich zu machen auffängt, wie gezeigt unten:
|
using System;
class Hello
{
static void Main () {
Console.WriteLine("hello, world");
}
}
|
|
|
Die oben genannte Kategorie läßt eine öffentlichkeit auffangen: Farbe. Wir können dieses zugänglich machen auffangen außerhalb von der Kategorie wie gezeigt unten:
|
Car car = new Car ();
car. Color = "red";
string color = car.color;
|
|
|
Aber dieses ist die alte Weise! Dieses wurde ruhige Arbeit mit C#, aber die vorgeschlagene Annäherung ist, „Eigenschaft“ anstelle von direkt zugänglich machenden Mitgliedsvariablen zu benutzen. Das folgende Code snippet zeigt, wie man „Eigenschaft“ in einer Kategorie verursacht.
|
public class Car
{
// private fields.
private string color;
// constructor
public Car()
{
}
public string Color
{
get
{
return color; // return the value from privte field.
}
set
{
color = value; // save value into private field.
}
}
}
|
|
|
Die oben genannte Kategorie läßt privates ein - Farbe auffangen. Dann haben wir ein „Eigenschaft“ benannte „Farbe“, die verwendet wird, um das private darzustellen auffangen. Merken, daß auffangene privat ist und die Eigenschaft allgemein ist. (Wir haben den gleichen Namen mit oberem/Kleinschreibung verwendet, um die „Eigenschaft“ darzustellen und „auffangen“, aber wir können jeden möglichen Namen geben, den wir. wünschen)
|
|
Jede Eigenschaft hat zwei Teile:
erhalten
einstellen
|
|
Das erhaltenteil wird durchgeführt, wenn wir den Wert der Eigenschaft wie gezeigt unten zugänglich machen:
|
Car car = new Car();
string color = car.Color;
|
|
|
Wenn sie durchgeführt werden, erhalten die oben genannten Accessor zurückbringen den Wert, der in auffangene „Farbe“ gespeichert wird. Das Satzteil wird durchgeführt, wenn wir einen Wert der Eigenschaft wie gezeigt unten zuweisen:
|
Car car = new Car();
car.Color = "RED";
|
|
|
Wenn es durchgeführt wird, weist der oben genannte Satz Accessor den Wert „ROT“ dem privaten auffangen „Farbe“ zu. (Anmerkung, die „Wert“ ein Schlüsselwort ist, das den Wert hat, der ihm. zugewiesen wird)
|
| So ist was der Unterschied?
|
|
Auf dem ersten Blick gibt es keinen Unterschied! Wir können das gleiche Verhalten erzielen, indem wir 2 unterschiedliche Methoden schreiben (wie SetColor (...), GetColor ()).
|
|
Erster Vorteil des Verwendens der Eigenschaft ist, Codeblickreinigungsmittel als, 2 verschiedene Methoden habend. Wir können eine Eigenschaft einfach benennen, als ob es auffangene in der Kategorie war.
|
|
Gut dann können wir fragen, warum es 2 Methoden bilden, wir können es eine öffentlichkeit auffangen lassen, damit wir sie zugänglich machen können, indem wir einen Fall der Kategorie verursachen.
|
|
Der Hauptvorteil, der mit einer Eigenschaft anstelle von einer öffentlichkeit übermäßig ist, fangen ist, mit der Eigenschaft, wir erhält eine Wahrscheinlichkeit, wenige Linien des Codes (wenn wir wünschen), in die erhalten und Satz Accessors zu schreiben auf. So können wir irgendeine Gültigkeitserklärung durchführen, oder jede mögliche andere Logik, bevor sie irgendwelche Werte zurückbringt oder dem privaten zuweist, fangen auf. Die geänderte Kategorie unten sehen:
|
public class Car
{
// private fields.
private string color;
// constructor
public Car()
{
}
public string Color
{
get
{
if ( color == "" )
return "GREEN";
else
return color;
}
set
{
if ( value == "" )
thrown new Exception ("Wrong value.");
else
color = value;
}
}
}
|
|
|
Uns das erhaltenteil zuerst analysieren lassen. Hier überprüfen wir, ob es einen gültigen Wert in auffangene „Farbe“ gibt, bevor wir den Wert zurückbringen. Wenn er leer ist, erhalten wir eine Wahrscheinlichkeit, einen Default-Wert „Grün“ zurückzubringen. Auf diese Weise, können wir überprüfen, ob whoever die Eigenschaft „Farbe“ erhält immer eine gültige Farbe, nie eine leere Zeichenkette benennt.
|
|
Im Satzteil tun wir eine Gültigkeitserklärung, um sicherzustellen, daß wir einen gültigen Wert immer unserem auffangen zuweisen. Wenn jemand eine leere Zeichenkette der „Farbe“ Eigenschaft zuweisen, erhält er eine Ausnahme (Störung).
|
Car car = new Car();
car.Color = "";
|
|
|
Der oben genannte Code wirft eine Störung, weil wir versuchen, eine leere Zeichenkette zuzuweisen und der Satz Accessor eine Störung wenn es eine leere Zeichenkette wirft. Auf diese Weise, können wir überprüfen, ob wir erlauben, daß nur gültige Werte zugewiesen werden.
|
|
So schätze ich, daß jetzt du den Zweck „der Eigenschaft“ schätzen würdest. So fängt no more öffentlichkeit auf! Privates immer haben auffängt und schreibt allgemeine Eigenschaften als Verpackung für sie wenn erforderlich, um sie außerhalb der Kategorie auszusetzen.
|
 |
 |
Schlüsselwort Eigenschaft in der C# Kategorie, c# xml, c# c++, c# Netz, c# area per informazioni, c# dotnet, vb c#, c# Beispiel, Bekehrter c#, c# Steuerung, Asp c#, private Eigenschaft, c# Form, csharp c#, kundenspezifisches c#, c# Anwendung, c# Probe, addieren c#, Gebrauch c#, Eigenschaften Eigenschaft, c# Daten, c# verursachen,
|