Exemple #1
0
        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")) }
            }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }
Exemple #4
0
 public Figure(Type figureModelType, FigureMode modeType = FigureMode.Reference) : this(figureModelType, null, modeType)
 {
 }
Exemple #5
0
 public Figure(MemberRubrics figureRubrics, string figureTypeName, FigureMode modeType = FigureMode.Reference)
     : this(figureRubrics.ToArray(), figureTypeName, modeType)
 {
 }
Exemple #6
0
 public Figure(IList <MemberInfo> figureMembers, FigureMode modeType = FigureMode.Reference)
     : this(figureMembers.ToArray(), null, modeType)
 {
 }
Exemple #7
0
 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)
 {
 }