powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Type
25 сообщений из 196, страница 1 из 8
Type
    #39331188
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как подставить тип document в IMongoCollection<T> ?
...
Рейтинг: 0 / 0
Type
    #39331218
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max,

Не понял, что хочешь сделать? Что не получается?
...
Рейтинг: 0 / 0
Type
    #39331220
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmr_max,

Не понял, что хочешь сделать? Что не получается?
сейчас стоит IMongoCollection<Request> зашито под конкретный класс,
а я хочу сделать универсально, подставлять класс в IMongoCollection в зависимости от типа переменной document.
...
Рейтинг: 0 / 0
Type
    #39331265
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxсейчас стоит IMongoCollection<Request> зашито под конкретный класс,

Оно не «зашито», они известно на этапе компиляции, со всеми вытекающими плюшками, типа проверки типов, интеллисенса, статического выбора логики на основе известного типа.


mr_maxа я хочу сделать универсально, подставлять класс в IMongoCollection в зависимости от типа переменной document.

Generic-тип можно состряпать во время исполнения. Но имеет ли это смысл? Ни интеллисенса, ни статической проверки типов, ни других плюшек от шаблонов ты не получишь. Зачем? Покажи, для чего конкретно тебе это надо.
...
Рейтинг: 0 / 0
Type
    #39331272
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmr_maxсейчас стоит IMongoCollection<Request> зашито под конкретный класс,

Оно не «зашито», они известно на этапе компиляции, со всеми вытекающими плюшками, типа проверки типов, интеллисенса, статического выбора логики на основе известного типа.


mr_maxа я хочу сделать универсально, подставлять класс в IMongoCollection в зависимости от типа переменной document.

Generic-тип можно состряпать во время исполнения. Но имеет ли это смысл? Ни интеллисенса, ни статической проверки типов, ни других плюшек от шаблонов ты не получишь. Зачем? Покажи, для чего конкретно тебе это надо.
Т.е. мой вариант не так уж и плох?

Мне это нужно для генерация ИД для монги.
И эту функцию могут вызывать разные коллекции.
...
Рейтинг: 0 / 0
Type
    #39331303
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max,
Код: c#
1.
2.
3.
4.
 public object GenerateId<T>(IMongoCollection<T> container)
        {
            .....
        }



P. S. есть же возможность вставлять нормальный C# код.
...
Рейтинг: 0 / 0
Type
    #39331331
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВmr_max,
Код: c#
1.
2.
3.
4.
 public object GenerateId<T>(IMongoCollection<T> container)
        {
            .....
        }



P. S. есть же возможность вставлять нормальный C# код.

Я наследуюсь от этого интерфейса, там нет этого метода
...
Рейтинг: 0 / 0
Type
    #39331358
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max,
Открой для себя методы расширения .
P. S. ну ёлы палы, научись вставлять форматированный C# код, который можно будет скопировать!
...
Рейтинг: 0 / 0
Type
    #39331366
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВmr_max,
Открой для себя методы расширения .
P. S. ну ёлы палы, научись вставлять форматированный C# код, который можно будет скопировать!
Дело в том, что монга использует этом метод для генерации Id, она не будет мой использовать.

Код: c#
1.
2.
3.
4.
 
public object GenerateId(object container, object document)
{
}
...
Рейтинг: 0 / 0
Type
    #39331427
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxМне это нужно для генерация ИД для монги.
И эту функцию могут вызывать разные коллекции.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public object GenerateId<T>(object container, object document)
{
    if(document is T)
    {
       var context = ((IMongoCollection<T>)container);
       // ну и так далее, вместо Request используй T...
    }
    return "";
}
...
Рейтинг: 0 / 0
Type
    #39331429
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max,

используешь так:

GenerateId<Request>(contaner, document)
...
Рейтинг: 0 / 0
Type
    #39331494
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmr_max,

используешь так:

GenerateId<Request>(contaner, document)
под каждый класс использовать этот метод?
...
Рейтинг: 0 / 0
Type
    #39331505
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max,

если ты заменишь определение

object GenerateId<T>(object container, object document)

на

object GenerateId<T>(IMongoCollection<T>container, T document)

то указывать <Request> будет не нужно, но типы всё равно должны быть известны.

или показывай конечный кейс использования. до сих пор непонятно чего ты хочешь. если тебе дженерики не нужны, с чем же ты вообще там работаешь в монге?
...
Рейтинг: 0 / 0
Type
    #39331565
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttobject GenerateId<T>(IMongoCollection<T>container, T document)


По его коду document нужен только для определения типа, а тут он уже есть, параметр T document в топку.
...
Рейтинг: 0 / 0
Type
    #39331579
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не попадает оно туда
...
Рейтинг: 0 / 0
Type
    #39331617
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max,

и не будет, оставь один метод и добивай его
...
Рейтинг: 0 / 0
Type
    #39331620
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

это чтобы тип выводился из вызова автоматически
...
Рейтинг: 0 / 0
Type
    #39331639
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttmr_max,

и не будет, оставь один метод и добивай его
Получается надо некий switch делать и подставлять модель в ручную в IMongoCollection<T>?
...
Рейтинг: 0 / 0
Type
    #39331679
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max,

зачем? модель может выводиться автоматически, в варианте

object GenerateId<T>(IMongoCollection<T>container, T document)
...
Рейтинг: 0 / 0
Type
    #39331680
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

*тип точнее
...
Рейтинг: 0 / 0
Type
    #39332073
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5-й год как использую MongoDB + C# и не понимаю, зачем Вам все эти танцы..
...
Рейтинг: 0 / 0
Type
    #39332116
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

я тоже...
...
Рейтинг: 0 / 0
Type
    #39332123
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как вы сделаете id для заявки чтобы не был гуид а был номер по порядку
...
Рейтинг: 0 / 0
Type
    #39332126
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxА как вы сделаете id для заявки чтобы не был гуид а был номер по порядку

Зачем?
...
Рейтинг: 0 / 0
Type
    #39332157
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxА как вы сделаете id для заявки чтобы не был гуид а был номер по порядку
Тупо инкремент? У нас так :)
...
Рейтинг: 0 / 0
25 сообщений из 196, страница 1 из 8
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Type
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]