Stworzyłem klasę, która jest tylko w stanie obsłużyć pierwotne (lub ICloneable) RodzajeJak powiedzieć konstruktora należy używać tylko prymitywne typy
Chcę wiedzieć, czy jest możliwe, aby powiedzieć coś w stylu:
public myobject(primitiv original){...}
czy naprawdę trzeba utworzyć konstruktor dla każdego rodzaju prymitywnego jak:
public myobject(int original){...}
public myobject(bool original){...}
...
Co staram się osiągnąć to, aby utworzyć obiekt z 3 p publicznym wartości roperties, Original i IsDirty.
Wartość będzie głęboko Klon oryginał tak oryginalnego musi być primitve lub ICloneable
Czy jesteś pewien, że dobrze zdefiniowano typ "pierwotny"? Specyfikacja języka C# wspomina o "typach prostych" (wszystkich strukturach), a także posiada pewne dodatkowe "typy predefiniowane", które są typami odniesienia (jak 'string'). –
@JeppeStigNielsen dobre pytanie, o ile mogę powiedzieć, tak. Ale selfe made struct daje mi pewne bóle głowy. – WiiMaxx
Na przykład, czy uważasz "System.UIntPtr' za" typ pierwotny "? Co jest specjalnego w tak zwanych "typach pierwotnych" w konkretnym scenariuszu? Nie mogłeś na przykład mieć "wartości" typu 'DateTime'? Jest to niezmienny typ wartości (i nie implementuje "ICloneable"). –