У меня есть эти данные, которые могут быть очень большими по размеру, это может быть xmlstring, dataset, datatable, datarowcollection. Эти данные будут переданы в общий метод вместе с его типом.Does Convert.ChangeType() создает копию объекта или возвращает ссылку на исходный объект?
void GenericMethod(object data, Type t)
{
var d = Convert.ChangeType(data, t);
//some tasks to do
}
Вопрос: если данные 1GB, будет ли ChangeType создавать еще один объект с 1 ГБ? Я просто хочу быть уверенным, из-за использования памяти.
Уверены ли вы? Пример реализации IConvertable на MSDN вызывает Convert.ChangeType. Это, в свою очередь, вызывает IConvertable для изменяемого типа? http://msdn.microsoft.com/en-us/library/system.iconvertible.aspx –
@EricJ .: Он вызывает 'ChangeType()' на 'double', а не на себя. – SLaks
означает ли это, что никакая копия не была создана, если исключение не выбрасывается? – jerjer