24 Stimmen

C#: Wie setzt man den Standardwert für eine Eigenschaft in einer partiellen Klasse?

Ich bin sehr neu in C # so bitte mit mir ...

Ich implementiere eine partielle Klasse, und möchte zwei Eigenschaften wie folgt hinzufügen:

public partial class SomeModel
{
    public bool IsSomething { get; set; }
    public List<string> SomeList { get; set; }

    ... Additional methods using the above data members ...
}

Ich möchte beide Datenelemente initialisieren: IsSomething a True y SomeList a new List<string>() . Normalerweise würde ich es in einem Konstruktor tun, aber weil es eine partielle Klasse ist, möchte ich den Konstruktor nicht berühren (sollte ich?).

Wie kann man das am besten erreichen?

Merci

PS Ich bin in ASP.NET MVC arbeiten, Hinzufügen von Funktionalität zu einem bestimmten Modell, daher die partielle Klasse.

3voto

Ant Punkte 277

Für Benutzer der Version 6.0 von C#, ist es möglich, die Eigenschaften wie folgt zu initialisieren:

public bool IsSomething { get; set; } = true;
public List<string> SomeList { get; set; } = new List<string>();

1voto

Paul Turner Punkte 37044

Beide Eigenschaften haben bereits die von Ihnen gewünschten Standardwerte.

Es ist nichts falsch daran, einen Konstruktor in einer partiellen Klasse zu haben. Partielle Klassen sind in keiner Weise etwas Besonderes, abgesehen davon, dass ihr Quellcode über mehrere Dateien/Deklarationen verteilt ist.

0voto

Subhamay Punkte 177
 private bool _InternalUserContactUpdate = false;
        public bool InternalUserContactUpdate
        {
            get { return _InternalUserContactUpdate; }
            set { _InternalUserContactUpdate = value; }
        }

Wenn Sie dann den Wert der Bedingung außer Kraft setzen wollen,

if(!objUserModel.FirstName.ToLower().Equals(entry.Key[0].Attributes.Contains("firstname").ToString().ToLower()))
        {
             objUserModel.InternalUserContactUpdate= true;
        }

Ich hoffe, das hilft

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X