public InstantFigure(IList <MemberInfo> membersInfo, string typeName, FigureMode modeType = FigureMode.Reference) { TypeName = typeName; Mode = modeType; members = CreateMemberRurics(membersInfo); Rubrics = new MemberRubrics(); Rubrics.KeyRubrics = new MemberRubrics(); foreach (MemberRubric mr in members) { Rubrics.Add(mr); } if (modeType == FigureMode.Reference) { InstantFigureReferenceCompiler rtbld = new InstantFigureReferenceCompiler(this); compiledType = rtbld.CompileFigureType(typeName); } else { InstantFigureValueTypeCompiler rtbld = new InstantFigureValueTypeCompiler(this); compiledType = rtbld.CompileFigureType(typeName); } Figure = (IFigure)compiledType.New(); FigureType = Figure.GetType(); FigureSize = Marshal.SizeOf(FigureType); if (!membersInfo.Where(m => m.Name == "SystemSerialCode").Any()) { members = new MemberRubric[] { new MemberRubric(FigureType.GetProperty("SystemSerialCode")) } }
public Figure(IList <MemberInfo> figureMembers, string figureTypeName, FigureMode modeType = FigureMode.Reference) { Name = (figureTypeName != null && figureTypeName != "") ? figureTypeName : DateTime.Now.ToBinary().ToString(); mode = modeType; Rubrics = fieldRubrics = new MemberRubrics(createMemberRurics(figureMembers)); Rubrics.KeyRubrics = new MemberRubrics(); }
public Figure(Type figureModelType, string figureTypeName, FigureMode modeType = FigureMode.Reference) { BaseType = figureModelType; if (modeType == FigureMode.Derived) { IsDerived = true; } Name = figureTypeName == null ? figureModelType.Name : figureTypeName; mode = modeType; Rubrics = fieldRubrics = new MemberRubrics(createMemberRurics(figureModelType.GetRuntimeFields().ToArray())); propertyRubrics = new MemberRubrics(createMemberRurics(figureModelType.GetRuntimeProperties().ToArray()) .Where(r => fieldRubrics.ContainsKey(r))); Rubrics.KeyRubrics = new MemberRubrics(); }
public Figure(Type figureModelType, FigureMode modeType = FigureMode.Reference) : this(figureModelType, null, modeType) { }
public Figure(MemberRubrics figureRubrics, string figureTypeName, FigureMode modeType = FigureMode.Reference) : this(figureRubrics.ToArray(), figureTypeName, modeType) { }
public Figure(IList <MemberInfo> figureMembers, FigureMode modeType = FigureMode.Reference) : this(figureMembers.ToArray(), null, modeType) { }
public InstantFigure(IList <MemberInfo> membersInfo, FigureMode modeType = FigureMode.Reference) : this(membersInfo.ToArray(), null, modeType) { }
/// <summary> /// Initializes a new instance of the <see cref="Figures"/> class. /// </summary> /// <param name="figureRubrics">The figureRubrics<see cref="MemberRubrics"/>.</param> /// <param name="figuresTypeName">The figuresTypeName<see cref="string"/>.</param> /// <param name="figureTypeName">The figureTypeName<see cref="string"/>.</param> /// <param name="modeType">The modeType<see cref="FigureMode"/>.</param> /// <param name="safeThread">The safeThread<see cref="bool"/>.</param> public Figures(MemberRubrics figureRubrics, string figuresTypeName = null, string figureTypeName = null, FigureMode modeType = FigureMode.Reference, bool safeThread = true) : this(new Figure(figureRubrics, figureTypeName, modeType), figuresTypeName, safeThread) { }
/// <summary> /// Initializes a new instance of the <see cref="Figures"/> class. /// </summary> /// <param name="figureObject">The figureObject<see cref="IFigure"/>.</param> /// <param name="figuresTypeName">The figuresTypeName<see cref="string"/>.</param> /// <param name="modeType">The modeType<see cref="FigureMode"/>.</param> /// <param name="safeThread">The safeThread<see cref="bool"/>.</param> public Figures(IFigure figureObject, string figuresTypeName, FigureMode modeType = FigureMode.Reference, bool safeThread = true) : this(new Figure(figureObject.GetType(), figureObject.GetType().Name, modeType), figuresTypeName, safeThread) { }
/// <summary> /// Initializes a new instance of the <see cref="Figures"/> class. /// </summary> /// <param name="figureModelType">The figureModelType<see cref="Type"/>.</param> /// <param name="figuresTypeName">The figuresTypeName<see cref="string"/>.</param> /// <param name="figureTypeName">The figureTypeName<see cref="string"/>.</param> /// <param name="modeType">The modeType<see cref="FigureMode"/>.</param> /// <param name="safeThread">The safeThread<see cref="bool"/>.</param> public Figures(Type figureModelType, string figuresTypeName, string figureTypeName, FigureMode modeType = FigureMode.Reference, bool safeThread = true) : this(new Figure(figureModelType, figureTypeName, modeType), figuresTypeName, safeThread) { }