Пример #1
0
    public void Protocol_Logic(IProtocol protocol, TcpClientHandler handler)
    {
        Action <IProtocol, TcpClientHandler> action;

        if (HandlePool.TryGetValue(protocol.GetProtocol_ID(), out action))
        {
            action(protocol, handler);
        }
    }
Пример #2
0
    public void Register()
    {
        var baseType = typeof(IProtocol);
        var a        = Assembly.GetAssembly(baseType).GetTypes().Where(t => baseType != t && baseType.IsAssignableFrom(t));

        foreach (var b in a)
        {
            IProtocol instance = (IProtocol)Activator.CreateInstance(b);
            protocolPool.Add(instance.GetProtocol_ID(), instance);
        }
    }