Помогите написать простой generic
От: faa  
Дата: 19.04.13 06:35
Оценка:
Доброго времени суток!

Нужен класс, который возвращает объект того же типа, которым он параметризован.
Пробую так:


 public class Book<T>
    {
        public T field;

        public Book()
        {
            //field = new T();
            //Здесь нужно создать экземпляр переданного типа
            // и инициализировать им поле field
        }

        public T GetPage()
        {
            //Вернуть ссылку на экземпляр типа T
            return field;
        }
    }

    public class Page
    {
        public string text = "Any text...";

        public Page()
        {
        }
    }


Поправьте меня пожалуйста
Re: Помогите написать простой generic
От: Aen Sidhe Россия Просто блог
Дата: 19.04.13 06:37
Оценка:
Здравствуйте, faa, Вы писали:

faa>Доброго времени суток!


faa>Нужен класс, который возвращает объект того же типа, которым он параметризован.

faa>Пробую так:

Класс не может ничего возвращать. Возвращают методы.


    public class Book<T> where T : new()
    {
        public T field;

        public Book()
        {
            field = new T();
            //Здесь нужно создать экземпляр переданного типа
            // и инициализировать им поле field
        }

        public T GetPage()
        {
            //Вернуть ссылку на экземпляр типа T
            return field;
        }
    }
С уважением, Анатолий Попов.
ICQ: 995-908
Re[2]: Помогите написать простой generic
От: faa  
Дата: 19.04.13 07:18
Оценка:
Здравствуйте, Aen Sidhe, Вы писали:

AS>Здравствуйте, faa, Вы писали:


faa>>Доброго времени суток!


faa>>Нужен класс, который возвращает объект того же типа, которым он параметризован.

faa>>Пробую так:

AS>Класс не может ничего возвращать. Возвращают методы.



AS>
AS>    public class Book<T> where T : new()
AS>    {
AS>        public T field;

AS>        public Book()
AS>        {
AS>            field = new T();
AS>            //Здесь нужно создать экземпляр переданного типа
AS>            // и инициализировать им поле field
AS>        }

AS>        public T GetPage()
AS>        {
AS>            //Вернуть ссылку на экземпляр типа T
AS>            return field;
AS>        }
AS>    }

AS>


Большое спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.