/// <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); } } } }
public HandleTypeAttribute(Type type, HandleResponserType rTy) { HandleType = type; RType = rTy; }