ReadByte() 공개 추상적인 메소드

public abstract ReadByte ( ) : byte
리턴 byte
예제 #1
0
        public object Read(Serializer serializer, CustomData customData)
        {
            var message = (Message) customData.Data;

            var dataType = (DataType) serializer.ReadByte();
            switch (dataType)
            {
                case DataType.DataObject:
                    if(!typeof(IDataObject).IsAssignableFrom(customData.Type))
                        throw new Exception();

                    return ReadDataObject(serializer, customData.Type, message);

                case DataType.Delegate:
                    var remoteDelegateId = serializer.ReadI32();
                    var contextId = message.RemotingManager.ContextManager.GetContextId(customData.RequestingAssembly);
                    var del = message.RemotingManager.DelegateManager.CreateDelegateProxy(contextId, customData.Type, message.Peer, remoteDelegateId);
                    return del.Delegate;

                case DataType.Service:
                    var remoteId = serializer.ReadI32();
                    return message.RemotingManager.ServiceManager.GetService(customData.Type, message.Peer, remoteId);

                default:
                    throw new NotImplementedException();
            }
        }