コード例 #1
0
ファイル: Verifyer.cs プロジェクト: zlzforever/AutoCSer
            static Verifyer()
            {
                if (attribute != null && custom == null && Fields != null)
                {
                    LeftArray <Field> verifyFields = Fields.getFind(value => value.IsVerify);
                    if (verifyFields.Length != 0)
                    {
                        columnNames = new AutoCSer.Threading.LockEquatableLastDictionary <HashString, string[]>();
                        int index = 0;
                        Verifyer.verifyFields = verifyFields.ToArray();
#if NOJIT
                        fields = new sqlColumn.verifyDynamicMethod.field[verifyFields.length];
                        foreach (AutoCSer.code.cSharp.sqlModel.fieldInfo member in verify.verifyFields)
                        {
                            fields[index++].Set(member);
                        }
#else
                        ColumnGroup.Verifyer dynamicMethod = new ColumnGroup.Verifyer(typeof(valueType), attribute);
                        foreach (Field member in Verifyer.verifyFields)
                        {
                            dynamicMethod.Push(member, index++);
                        }
                        verifyer = (Func <valueType, Table, string[], bool>)dynamicMethod.Create <Func <valueType, Table, string[], bool> >();
#endif
                        AutoCSer.Pub.ClearCaches += clearCache;
                    }
                }
            }
コード例 #2
0
            static Inserter()
            {
                if (attribute != null && custom == null && Fields != null)
                {
                    columnNames = new AutoCSer.Threading.LockEquatableLastDictionary <HashString, string>();
#if NOJIT
                    fields = new sqlModel.insertField[Fields.Length];
                    int index = 0;
                    foreach (AutoCSer.code.cSharp.sqlModel.fieldInfo member in Fields)
                    {
                        fields[index++].Set(member);
                    }
#else
                    ColumnGroup.Inserter dynamicMethod = new ColumnGroup.Inserter(typeof(valueType), attribute);
                    foreach (Field member in Fields)
                    {
                        dynamicMethod.Push(member);
                    }
                    inserter = (Action <CharStream, valueType, ConstantConverter>)dynamicMethod.Create <Action <CharStream, valueType, ConstantConverter> >();
#endif
                    AutoCSer.Pub.ClearCaches += clearCache;
                }
            }