Создание динамических переменных анонимных типов - PullRequest
3 голосов
/ 05 октября 2009

Могу ли я создать переменную анонимного типа, а затем добавить дополнительные свойства?

например. var x = new { Name = "Ahmed" }; и хотите добавить к нему Age? как я могу это сделать?

Еще один вопрос: я видел в некоторых блогах тип AnonymousType каково пространство имен для этого класса? вот пример http://www.codeproject.com/KB/cs/AnonymousTypesInCSharp.aspx

Ответы [ 4 ]

6 голосов
/ 05 октября 2009

Первый вопрос - вы не можете.

Второй вопрос - AnonymousType - это тип, созданный автором этой статьи. Вы должны загрузить исходный код своего проекта, чтобы использовать этот тип.

0 голосов
/ 29 октября 2009

Это совершенно логичный вопрос ... Я работаю с Java и C #, и это моя любимая мозоль ... На самом деле почти каждый язык имеет своего рода анонимный тип, lol ... PHP , JavaScript, C #, VB (все), и список можно продолжить ..

Это очень полезная функция, когда вы в основном бросаете данные в объект, и вам не нужен класс для его создания.

Фактически, это именно то, что использует LINQ ..

var someObject (can be interable/Enumerable) = 
    from p in products
    where p.id == 123
    select new { productid };

бла-бла, ты понял ... Это очень полезно ... :-)

Ура!

0 голосов
/ 05 октября 2009

Нет, и это не будет эффективно для вашего приложения. Вы уверены, что не хотите вводить какой-то класс?

using System;
class Generic{

   public void doSomething(){}

   private string name;
   private string _othreFeature;

}

Вы можете расширить его новыми функциями, когда захотите.

0 голосов
/ 05 октября 2009

Нет, вы не можете.

2-й вопрос: Нет такой вещи, это может относиться к сгенерированному компилятором классу, к которому у вас нет доступа.

...