Keresés

Hirdetés

Új hozzászólás Aktív témák

  • bpx

    őstag

    válasz Lakers #1055 üzenetére

    először meghívja a 2 paraméteres konstruktort (az ami a this mögött van), utána meg az eredetit amit a példányosításnál hívtál (1 paraméteres)

    most így hirtelen nem tudok értelmes gyakorlati példát mondani, de pl. akkor érdemes használni, ha egy osztálynak több konstruktora is van, többféleképp is lehet példányosítani, és a konstruktorok egy bizonyos részig ugyanazt csinálják
    ekkor érdemes kivenni ezt a közös részt külön, és ahelyett hogy többször kellene ugyanazt leírni, elég csak a : this-el hivatkozni rá

    de egyébként ez le sem fordul, mert a 10.0 az double :)

    [ Szerkesztve ]

  • ArchElf

    addikt

    válasz Lakers #1055 üzenetére

    Viszonylag gyakran akkor alkalmazzák, ha több opcionális kontruktor változóra lehet szükség - default konstruktor gyártására lehet alkalmani a this módisítót...
    Érdemes megnézni az előre legyártott MS osztályokat, ott bőven van példa opcionális konstruktor változókra:
    Pl System.IO.FileStream:

    public FileStream(IntPtr handle, FileAccess access);
    public FileStream(IntPtr handle, FileAccess access, bool ownsHandle);
    public FileStream(IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize, bool isAsync);
    public FileStream(SafeFileHandle handle, FileAccess access);
    public FileStream(SafeFileHandle handle, FileAccess access, int bufferSize, bool isAsync);
    public FileStream(string path, FileMode mode);
    public FileStream(string path, FileMode mode, FileAccess access);
    public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize);
    public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, bool useAsync);
    public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, FileOptions options);
    public FileStream(string path, FileMode mode, FileSystemRights rights, FileShare share, int bufferSize, FileOptions options);
    public FileStream(string path, FileMode mode, FileSystemRights rights, FileShare share, int bufferSize, FileOptions options, FileSecurity fileSecurity);

    (kicsit sorbarendeztem őket, hogy jobban látszódjanak a csoportok)
    Ezeket mind meg lehet csinálni egyesével is, de sokkal egyszerűbb (és biztosabb megoldás) több különálló csoportra osztani, és a csoporton belül a speciálisabbakból (kevesebb változót tartalmazót) meghívni az általánosabbakat.

    AE

    [ Szerkesztve ]

    Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

Új hozzászólás Aktív témák