Beispiel #1
0
        /// <summary>
        /// 注册一个程序集
        /// </summary>
        /// <param name="assembly">Assembly.</param>
        /// <param name="rTy">R ty.</param>
        public void RegAssembly(Assembly assembly, HandleResponserType rTy)
        {
            var types = assembly.GetTypes();

            foreach (var i in types)
            {
                var attrs = i.GetCustomAttributes <HandleTypeAttribute>();
                if (attrs.Count() > 0)
                {
                    var attr = attrs.First();
                    if (attr.RType != rTy)
                    {
                        continue;
                    }
                    var index = 0;
                    if (MessageHandleTypes.GetTypeIndex(attrs.First().HandleType, out index))
                    {
                        _handler.Add(index, i);
                    }
                }
            }
        }
Beispiel #2
0
 public HandleTypeAttribute(Type type, HandleResponserType rTy)
 {
     HandleType = type;
     RType      = rTy;
 }