Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / c# Преобразовать переменную object из getype / 16 сообщений из 16, страница 1 из 1
13.11.2014, 10:03
    #38804373
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Здравствуйте.

Как преобразовать переменную object, в то что вернуло getType?

Делаю так не получается

Код: c#
1.
2.
3.
4.
5.
6.
7.
object T = List<AAAA>(); 

....

var t = T.GetType();

var r = T as t;
...
Рейтинг: 0 / 0
13.11.2014, 11:01
    #38804494
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Nechto,

это невозможно в таком виде, попробуй задачу переформулировать
...
Рейтинг: 0 / 0
13.11.2014, 11:05
    #38804506
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Преобразовать или привести?
Пребразование делается Convert-ом, а вот приведение не имеет никакого смысла.
С помощью var нельзя объявить переменную неизвестного на этапе компиляции типа.
Когда тип переменной станет известен, тогда и надо приводить (хоть с помощью as, хоть с помощью скобок).

В общем, какова цель?
...
Рейтинг: 0 / 0
13.11.2014, 11:25
    #38804545
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Nechto
Код: c#
1.
2.
3.
var t = T.GetType();

var r = T as t;


А теперь подумайте, что возвращает T.GetType(), что указывается справа от оператора as, и что у вас получается в итоге.
...
Рейтинг: 0 / 0
13.11.2014, 12:28
    #38804682
D129
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
NechtoЗдравствуйте.

Как преобразовать переменную object, в то что вернуло getType?

Делаю так не получается

Код: c#
1.
2.
3.
4.
5.
6.
7.
object T = List<AAAA>(); 

....

var t = T.GetType();

var r = T as t;



А что вы хотите от var r = T as t; ?

Создать новый обьект такого же типа? Использовать тот же обьект?
Если использовать тот же - то оператор = это делает.
Если создать новый такого же типа -
Это можно, через Activator.CreateInstance() - но зачем? ведь в коде он все равно останется для вас простым обьектом, код сам собой не напишется....


Может вы хотите dynamic попробовать для чего-нибудь применить?
...
Рейтинг: 0 / 0
13.11.2014, 12:29
    #38804686
Ilya81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
GetType специально сделан не переопределяемым для устранения возможного источника уязвимостей в коде, тип данных не может выдать себя за тот, каким он не является.
...
Рейтинг: 0 / 0
13.11.2014, 13:01
    #38804754
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
D129NechtoЗдравствуйте.

Как преобразовать переменную object, в то что вернуло getType?

Делаю так не получается

Код: c#
1.
2.
3.
4.
5.
6.
7.
object T = List<AAAA>(); 

....

var t = T.GetType();

var r = T as t;



А что вы хотите от var r = T as t; ?

Создать новый обьект такого же типа? Использовать тот же обьект?
Если использовать тот же - то оператор = это делает.
Если создать новый такого же типа -
Это можно, через Activator.CreateInstance() - но зачем? ведь в коде он все равно останется для вас простым обьектом, код сам собой не напишется....


Может вы хотите dynamic попробовать для чего-нибудь применить?

Именно так! В динамике. А точнее в цикле.

В object приходят различные наборы данных, которые я бы хотел унифицировать(т.е. определить класс). Чтобы в цикле генерировать свойства столбцов DataGridView.
...
Рейтинг: 0 / 0
13.11.2014, 13:22
    #38804783
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Nechto,

а-a-a, та ты хочешь пропертидескрипторы получить для произвольного IEnumerable<T>?
...
Рейтинг: 0 / 0
13.11.2014, 13:50
    #38804833
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
пропертидескрипторы - можете пожалуйста объяснить, этот термин?
...
Рейтинг: 0 / 0
13.11.2014, 14:05
    #38804862
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Nechto,

PropertyDescriptor

для получения коллекции свойств источника данных следует использовать
Код: c#
1.
ListBindingHelper.GetListItemProperties


справится с самыми разными источниками данных

PropertyDescriptor содержит имя, тип и атрибуты, собственно Grid и добывает из него информацию автогенерации колонок
...
Рейтинг: 0 / 0
13.11.2014, 14:05
    #38804863
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Nechto, эммм... "я бы хотел унифицировать т.е. определить класс". Если поставщики данных не заморочатся атрибутами или наследованиес от чего-то, то для каждого типа вам придется делать маппинг "в рукопашную" на этот "унификатор", прости господи...
Делайте просто через if и мосх не морщите... рано или поздно придет озарение, как это сделать не через опу.
...
Рейтинг: 0 / 0
13.11.2014, 14:08
    #38804875
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Изопропил, ага... если у автора коллекции нетипизированные с разномастными объектами...? :)
...
Рейтинг: 0 / 0
13.11.2014, 14:23
    #38804902
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
buser,

ну вроде как - простые коллекции - object T = List<AAAA>();

а если объекты разномастные - как он собирается колонки строить?
...
Рейтинг: 0 / 0
13.11.2014, 14:34
    #38804936
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
автор сам не знает, что ему нужно, может речь про Generic классы и методы?
...
Рейтинг: 0 / 0
13.11.2014, 18:49
    #38805397
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
Автор знает что хочет :) . Только я немного сам запутался, и вас ввел в заблуждение.


Вот задача которую я решаю:
Вот такая структура. 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.
var foreigns = context.Set<Main>().Select(s => s.Foreigns).ToList();

// Не знаю как сделать правильно 
switch (foreigns)
{
     case (A) : break;
     case (B) : break;
     case (C) : break;
}
...
Рейтинг: 0 / 0
14.11.2014, 01:00
    #38805617
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c# Преобразовать переменную object из getype
NechtoЧтобы в цикле генерировать свойства столбцов DataGridView.
NechtoАвтор знает что хочет :) . Только я немного сам запутался, и вас ввел в заблуждение.
ListBindingHelper.GetListItemProperties - что непонятно?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / c# Преобразовать переменную object из getype / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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