public EdiStructure(EdiStructureType container, object instance, int index, Queue<EdiEntry> cache) { ValidationUtils.ArgumentNotNull(instance, "instance"); _Container = container; _Instance = instance; _Index = index; _Descriptor = typeStore.Get(instance.GetType()); _CachedReads = cache; }
/// <summary> /// Initializes a new instance of the <see cref="T:indice.Edi.Serialization.EdiStructure"/> class. /// </summary> /// <param name="container">Container.</param> /// <param name="instance">Instance.</param> /// <param name="index">Index.</param> /// <param name="cache">Cache.</param> public EdiStructure(EdiStructureType container, object instance, int index, Queue <EdiEntry> cache) { ValidationUtils.ArgumentNotNull(instance, "instance"); _Container = container; _Instance = instance; _Index = index; _Descriptor = typeStore.Get(instance.GetType()); _CachedReads = cache; }
public EdiStructure(EdiStructureType structureType, EdiStructure parent, EdiPropertyDescriptor property, object instance, int index, Queue <EdiEntry> cache) { ValidationUtils.ArgumentNotNull(instance, "instance"); _StructureType = structureType; _Container = parent; _Instance = instance; _Index = index; _Descriptor = typeStore.Get(instance.GetType()); _CachedReads = cache; _Conditions = Descriptor.Attributes.OfType <EdiConditionAttribute>().Concat(property?.Conditions ?? new EdiConditionAttribute[0]).ToArray(); _ConditionStackMode = _Conditions.Length > 0 && ( property?.ConditionStackMode == EdiConditionStackMode.Any || Descriptor.Attributes.OfType <EdiAnyAttribute>().Any()) ? EdiConditionStackMode.Any : EdiConditionStackMode.All; }