コード例 #1
0
ファイル: FactoryDao.cs プロジェクト: nowonbun/nowonbunstore
 public static FactoryDao CreateInstance(String connectionString)
 {
     if (instance != null)
     {
         throw new HouseholdORMException("already allocaion!");
     }
     instance = new FactoryDao(connectionString);
     return(instance);
 }
コード例 #2
0
ファイル: FactoryDao.cs プロジェクト: nowonbun/nowonbunstore
        public void AllocResource(object obj)
        {
            var fields = from field in obj.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
                         let attrs = field.GetCustomAttributes()
                                     from attr in attrs
                                     where attr is ResourceDao
                                     select field;

            Parallel.ForEach(fields, field =>
            {
                ImplementDao impl = field.ReflectedType.GetCustomAttribute(typeof(ImplementDao)) as ImplementDao;
                field.SetValue(obj, FactoryDao.GetInstance().GetDao(impl.ClassName));
            });
        }
コード例 #3
0
        public ResourceAllocationController()
        {
            var fields = from field in this.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
                         let attrs = field.GetCustomAttributes()
                                     from attr in attrs
                                     where attr is ResourceDao
                                     select field;

            Parallel.ForEach(fields, field =>
            {
                ImplementDao impl = field.FieldType.GetCustomAttribute(typeof(ImplementDao)) as ImplementDao;
                field.SetValue(this, FactoryDao.GetInstance().GetDao(impl.ClassName));
            });
        }