|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Здравствуйте. Как преобразовать переменную object, в то что вернуло getType? Делаю так не получается Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 10:03 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Nechto, это невозможно в таком виде, попробуй задачу переформулировать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 11:01 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Преобразовать или привести? Пребразование делается Convert-ом, а вот приведение не имеет никакого смысла. С помощью var нельзя объявить переменную неизвестного на этапе компиляции типа. Когда тип переменной станет известен, тогда и надо приводить (хоть с помощью as, хоть с помощью скобок). В общем, какова цель? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 11:05 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Nechto Код: c# 1. 2. 3.
А теперь подумайте, что возвращает T.GetType(), что указывается справа от оператора as, и что у вас получается в итоге. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 11:25 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
NechtoЗдравствуйте. Как преобразовать переменную object, в то что вернуло getType? Делаю так не получается Код: c# 1. 2. 3. 4. 5. 6. 7.
А что вы хотите от var r = T as t; ? Создать новый обьект такого же типа? Использовать тот же обьект? Если использовать тот же - то оператор = это делает. Если создать новый такого же типа - Это можно, через Activator.CreateInstance() - но зачем? ведь в коде он все равно останется для вас простым обьектом, код сам собой не напишется.... Может вы хотите dynamic попробовать для чего-нибудь применить? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 12:28 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
GetType специально сделан не переопределяемым для устранения возможного источника уязвимостей в коде, тип данных не может выдать себя за тот, каким он не является. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 12:29 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
D129NechtoЗдравствуйте. Как преобразовать переменную object, в то что вернуло getType? Делаю так не получается Код: c# 1. 2. 3. 4. 5. 6. 7.
А что вы хотите от var r = T as t; ? Создать новый обьект такого же типа? Использовать тот же обьект? Если использовать тот же - то оператор = это делает. Если создать новый такого же типа - Это можно, через Activator.CreateInstance() - но зачем? ведь в коде он все равно останется для вас простым обьектом, код сам собой не напишется.... Может вы хотите dynamic попробовать для чего-нибудь применить? Именно так! В динамике. А точнее в цикле. В object приходят различные наборы данных, которые я бы хотел унифицировать(т.е. определить класс). Чтобы в цикле генерировать свойства столбцов DataGridView. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 13:01 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Nechto, а-a-a, та ты хочешь пропертидескрипторы получить для произвольного IEnumerable<T>? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 13:22 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
пропертидескрипторы - можете пожалуйста объяснить, этот термин? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 13:50 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Nechto, PropertyDescriptor для получения коллекции свойств источника данных следует использовать Код: c# 1.
справится с самыми разными источниками данных PropertyDescriptor содержит имя, тип и атрибуты, собственно Grid и добывает из него информацию автогенерации колонок ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 14:05 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Nechto, эммм... "я бы хотел унифицировать т.е. определить класс". Если поставщики данных не заморочатся атрибутами или наследованиес от чего-то, то для каждого типа вам придется делать маппинг "в рукопашную" на этот "унификатор", прости господи... Делайте просто через if и мосх не морщите... рано или поздно придет озарение, как это сделать не через опу. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 14:05 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Изопропил, ага... если у автора коллекции нетипизированные с разномастными объектами...? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 14:08 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
buser, ну вроде как - простые коллекции - object T = List<AAAA>(); а если объекты разномастные - как он собирается колонки строить? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 14:23 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
автор сам не знает, что ему нужно, может речь про Generic классы и методы? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 14:34 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
Автор знает что хочет :) . Только я немного сам запутался, и вас ввел в заблуждение. Вот задача которую я решаю: Вот такая структура. http://www.sql.ru/forum/1124889/c-fabrika-klassov-ef-code-first Вот это свойства выводит object коллекции A, B, C public virtual ICollection<object> Foreigns Чтобы избежать универсальности, я для каждого класса A, B, C создаю статический DataGrigView с полями и { Binding Foreigns }. Выходи что вопрос решен, кроме одного момента - это как в switch определить тип набора Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2014, 18:49 |
|
c# Преобразовать переменную object из getype
|
|||
---|---|---|---|
#18+
NechtoЧтобы в цикле генерировать свойства столбцов DataGridView. NechtoАвтор знает что хочет :) . Только я немного сам запутался, и вас ввел в заблуждение. ListBindingHelper.GetListItemProperties - что непонятно? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2014, 01:00 |
|
|
start [/forum/topic.php?fid=20&msg=38804506&tid=1402251]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 137ms |
0 / 0 |