public virtual VisitArgs Construct(string propertyName) { var property = SerializableType.FindProperty(propertyName); var levelType = GetLevelTypeFromClass(property.Ext.Classification); var name = property.Ref.Name; var idx = property.Metadata.Index; var attributes = EnigmaSerializationAttributes.FromMember(property.Ref); var args = new ConstructStateArgs(property, attributes, levelType); OnConstructState(args); return(new VisitArgs(name, levelType, idx, attributes, args.State)); }
/// <summary> /// Used to add additional state to the visitargs passed on to the visitors later /// </summary> /// <param name="args">Arguments used to create the state</param> protected virtual void OnConstructState(ConstructStateArgs args) { }