Esempio n. 1
0
 public void RegisterTypeReader(Type type, ContentTypeReader reader)
 {
     if (!_contentTypeMap.ContainsKey(type))
     {
         reader.Initialize(this);
         _contentTypeMap.Add(type, reader);
     }
 }
Esempio n. 2
0
        public T ReadObject <T>(ContentTypeReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException("reader");
            }

            if (reader.IsPrimitiveType)
            {
                return(InvokeReader <T>(reader));
            }
            else
            {
                return(ReadObject <T>());
            }
        }
Esempio n. 3
0
        public T ReadObject <T>()
        {
            int index = _input.ReadInt32();

            if (index == 0)
            {
                return(default(T));
            }
            index--;
            if (index > _contentReaderList.Count)
            {
                throw new ContentLoadException(string.Format("ContentTypeReader index {0} is greater than number of ContentTypeReaders {1}", index, _contentReaderList.Count));
            }

            ContentTypeReader reader = _contentReaderList[index];

            return(InvokeReader <T>(reader));
        }
Esempio n. 4
0
        private int ReadHeader()
        {
            int typeCount = _input.ReadInt32();

            for (int i = 0; i < typeCount; i++)
            {
                Guid readerID            = ReadGuid();
                ContentTypeReader reader = _manager.GetTypeReaderByID(readerID);
                _contentReaderList.Add(reader);
            }
            int resourceCount = _input.ReadInt32();

            _sharedResourceCallbacks = new List <Action <object> > [resourceCount];
            for (int i = 0; i < resourceCount; i++)
            {
                _sharedResourceCallbacks[i] = new List <Action <object> >();
            }

            return(resourceCount);
        }
Esempio n. 5
0
 public override void Initialize(ContentTypeReaderManager manager)
 {
     typeReader = manager.GetTypeReader(typeof(T));
 }
Esempio n. 6
0
 public void RegisterTypeReader(Type type, ContentTypeReader reader)
 {
     _typeReaderManager.RegisterTypeReader(type, reader);
 }
Esempio n. 7
0
 public void RegisterTypeReader <T>(ContentTypeReader reader)
 {
     _typeReaderManager.RegisterTypeReader <T>(reader);
 }
Esempio n. 8
0
 private T InvokeReader <T>(ContentTypeReader reader)
 {
     return((T)reader.Read(this));
 }
Esempio n. 9
0
 public T ReadObjectRaw <T>(ContentTypeReader reader)
 {
     return(InvokeReader <T>(reader));
 }
Esempio n. 10
0
        public T ReadObjectRaw <T>()
        {
            ContentTypeReader reader = _manager.GetTypeReader(typeof(T));

            return(InvokeReader <T>(reader));
        }
Esempio n. 11
0
 public void RegisterTypeReader <T>(ContentTypeReader reader)
 {
     RegisterTypeReader(typeof(T), reader);
 }
Esempio n. 12
0
 public override void Initialize(ContentTypeReaderManager manager)
 {
     keyReader   = manager.GetTypeReader(typeof(TKey));
     valueReader = manager.GetTypeReader(typeof(TValue));
 }