You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- ResizeArrays and Dictionaries containing any combination of basic F# types
215
-
216
-
- Dictionaries containing DynamicObj as keys or values in any combination with DynamicObj or basic F# types as keys or values
217
-
218
-
- array<DynamicObj>, list<DynamicObj>, ResizeArray<DynamicObj>: These collections of DynamicObj are copied as a new collection with recursively deep copied elements.
219
-
220
-
- System.ICloneable: If the property implements ICloneable, the Clone() method is called on the property.
221
-
222
-
- DynamicObj (and derived classes): properties that are themselves DynamicObj instances are deep copied recursively.
223
-
if a derived class has static properties (e.g. instance properties), these will be copied as dynamic properties on the new instance.
224
-
225
-
Note on Classes that inherit from DynamicObj:
226
-
227
-
Classes that inherit from DynamicObj will match the `DynamicObj` typecheck if they do not implement ICloneable.
228
-
The deep copied instances will be cast to DynamicObj with static/instance properties AND dynamic properties all set as dynamic properties.
- `ResizeArrays` and `Dictionaries` containing any combination of basic F# types
215
+
216
+
- `Dictionaries` containing `DynamicObj` as keys or values in any combination with `DynamicObj` or basic F# types as keys or values
217
+
218
+
- `array<DynamicObj>`, `list<DynamicObj>`, `ResizeArray<DynamicObj>`: These collections of DynamicObj are copied as a new collection with recursively deep copied elements.
219
+
220
+
- `System.ICloneable`: If the property implements `ICloneable`, the `Clone()` method is called on the property.
221
+
222
+
- `DynamicObj` (and derived classes): properties that are themselves `DynamicObj` instances are deep copied recursively.
223
+
if a derived class has static properties (e.g. instance properties), these can be copied as dynamic properties on the new instance or ignored.
224
+
225
+
Note on Classes that inherit from `DynamicObj`:
226
+
227
+
Classes that inherit from DynamicObj will match the `DynamicObj` typecheck if they do not implement `ICloneable`.
228
+
The deep copied instances will be cast to `DynamicObj` with deep copied dynamic properties. Staic/instance properties can be copied as dynamic properties on the new instance or be ignored.
229
229
It should be possible to 'recover' the original type by checking if the needed properties exist as dynamic properties,
230
230
and then passing them to the class constructor if needed.
- ResizeArrays and Dictionaries containing any combination of basic F# types
272
-
273
-
- Dictionaries containing DynamicObj as keys or values in any combination with DynamicObj or basic F# types as keys or values
274
-
275
-
- array<DynamicObj>, list<DynamicObj>, ResizeArray<DynamicObj>: These collections of DynamicObj are copied as a new collection with recursively deep copied elements.
276
-
277
-
- System.ICloneable: If the property implements ICloneable, the Clone() method is called on the property.
278
-
279
-
- DynamicObj (and derived classes): properties that are themselves DynamicObj instances are deep copied recursively.
280
-
if a derived class has static properties (e.g. instance properties), these will be copied as dynamic properties on the new instance.
281
-
282
-
Note on Classes that inherit from DynamicObj:
283
-
284
-
Classes that inherit from DynamicObj will match the `DynamicObj` typecheck if they do not implement ICloneable.
285
-
The deep copied instances will be cast to DynamicObj with static/instance properties AND dynamic properties all set as dynamic properties.
- `ResizeArrays` and `Dictionaries` containing any combination of basic F# types
272
+
273
+
- `Dictionaries` containing `DynamicObj` as keys or values in any combination with `DynamicObj` or basic F# types as keys or values
274
+
275
+
- `array<DynamicObj>`, `list<DynamicObj>`, `ResizeArray<DynamicObj>`: These collections of DynamicObj are copied as a new collection with recursively deep copied elements.
276
+
277
+
- `System.ICloneable`: If the property implements `ICloneable`, the `Clone()` method is called on the property.
278
+
279
+
- `DynamicObj` (and derived classes): properties that are themselves `DynamicObj` instances are deep copied recursively.
280
+
if a derived class has static properties (e.g. instance properties), these can be copied as dynamic properties on the new instance or ignored.
281
+
282
+
Note on Classes that inherit from `DynamicObj`:
283
+
284
+
Classes that inherit from DynamicObj will match the `DynamicObj` typecheck if they do not implement `ICloneable`.
285
+
The deep copied instances will be cast to `DynamicObj` with deep copied dynamic properties. Staic/instance properties can be copied as dynamic properties on the new instance or be ignored.
286
286
It should be possible to 'recover' the original type by checking if the needed properties exist as dynamic properties,
287
287
and then passing them to the class constructor if needed.
288
288
@@ -396,23 +396,23 @@ <h3>
396
396
397
397
The following cases are handled (in this precedence):
- ResizeArrays and Dictionaries containing any combination of basic F# types
402
-
403
-
- Dictionaries containing DynamicObj as keys or values in any combination with DynamicObj or basic F# types as keys or values
404
-
405
-
- array<DynamicObj>, list<DynamicObj>, ResizeArray<DynamicObj>: These collections of DynamicObj are copied as a new collection with recursively deep copied elements.
406
-
407
-
- System.ICloneable: If the property implements ICloneable, the Clone() method is called on the property.
408
-
409
-
- DynamicObj (and derived classes): properties that are themselves DynamicObj instances are deep copied recursively.
410
-
if a derived class has static properties (e.g. instance properties), these will be copied as dynamic properties on the new instance.
411
-
412
-
Note on Classes that inherit from DynamicObj:
413
-
414
-
Classes that inherit from DynamicObj will match the `DynamicObj` typecheck if they do not implement ICloneable.
415
-
The deep copied instances will be cast to DynamicObj with static/instance properties AND dynamic properties all set as dynamic properties.
- `ResizeArrays` and `Dictionaries` containing any combination of basic F# types
402
+
403
+
- `Dictionaries` containing `DynamicObj` as keys or values in any combination with `DynamicObj` or basic F# types as keys or values
404
+
405
+
- `array<DynamicObj>`, `list<DynamicObj>`, `ResizeArray<DynamicObj>`: These collections of DynamicObj are copied as a new collection with recursively deep copied elements.
406
+
407
+
- `System.ICloneable`: If the property implements `ICloneable`, the `Clone()` method is called on the property.
408
+
409
+
- `DynamicObj` (and derived classes): properties that are themselves `DynamicObj` instances are deep copied recursively.
410
+
if a derived class has static properties (e.g. instance properties), these can be copied as dynamic properties on the new instance or ignored.
411
+
412
+
Note on Classes that inherit from `DynamicObj`:
413
+
414
+
Classes that inherit from DynamicObj will match the `DynamicObj` typecheck if they do not implement `ICloneable`.
415
+
The deep copied instances will be cast to `DynamicObj` with deep copied dynamic properties. Staic/instance properties can be copied as dynamic properties on the new instance or be ignored.
416
416
It should be possible to 'recover' the original type by checking if the needed properties exist as dynamic properties,
417
417
and then passing them to the class constructor if needed.
- ResizeArrays and Dictionaries containing any combination of basic F# types
1325
-
1326
-
- Dictionaries containing DynamicObj as keys or values in any combination with DynamicObj or basic F# types as keys or values
1327
-
1328
-
- array<DynamicObj>, list<DynamicObj>, ResizeArray<DynamicObj>: These collections of DynamicObj are copied as a new collection with recursively deep copied elements.
1329
-
1330
-
- System.ICloneable: If the property implements ICloneable, the Clone() method is called on the property.
1331
-
1332
-
- DynamicObj (and derived classes): properties that are themselves DynamicObj instances are deep copied recursively.
1333
-
if a derived class has static properties (e.g. instance properties), these will be copied as dynamic properties on the new instance.
1334
-
1335
-
Note on Classes that inherit from DynamicObj:
1336
-
1337
-
Classes that inherit from DynamicObj will match the `DynamicObj` typecheck if they do not implement ICloneable.
1338
-
The deep copied instances will be cast to DynamicObj with static/instance properties AND dynamic properties all set as dynamic properties.
- `ResizeArrays` and `Dictionaries` containing any combination of basic F# types
1325
+
1326
+
- `Dictionaries` containing `DynamicObj` as keys or values in any combination with `DynamicObj` or basic F# types as keys or values
1327
+
1328
+
- `array<DynamicObj>`, `list<DynamicObj>`, `ResizeArray<DynamicObj>`: These collections of DynamicObj are copied as a new collection with recursively deep copied elements.
1329
+
1330
+
- `System.ICloneable`: If the property implements `ICloneable`, the `Clone()` method is called on the property.
1331
+
1332
+
- `DynamicObj` (and derived classes): properties that are themselves `DynamicObj` instances are deep copied recursively.
1333
+
if a derived class has static properties (e.g. instance properties), these can be copied as dynamic properties on the new instance or ignored.
1334
+
1335
+
Note on Classes that inherit from `DynamicObj`:
1336
+
1337
+
Classes that inherit from DynamicObj will match the `DynamicObj` typecheck if they do not implement `ICloneable`.
1338
+
The deep copied instances will be cast to `DynamicObj` with deep copied dynamic properties. Staic/instance properties can be copied as dynamic properties on the new instance or be ignored.
1339
1339
It should be possible to 'recover' the original type by checking if the needed properties exist as dynamic properties,
1340
1340
and then passing them to the class constructor if needed.
0 commit comments