Clay - это библиотека C#, которая реализует систему динамической типизации, аналогичную JavaScript, с использованием динамических типов C#.

Clay - это библиотека C# с открытым исходным кодом, которая обеспечивает расширенную поддержку системы динамических типов, выходящую далеко за рамки того, что возможно при использовании встроенного ExpandoObject. Библиотека предоставляет фабричный класс динамических типов, который можно использовать для создания новых динамических типов, которые затем могут быть расширены аналогично другим динамическим языкам, таким как JavaScript.

Созданные из глины динамические объекты могут иметь новые свойства, определяемые для них динамически, как и ExpandoObjectтип. Кроме того, динамические объекты Clay могут:

  • Добавляйте новые свойства с помощью синтаксиса индексатора, позволяя определять имена свойств во время выполнения.
  • Создавайте динамические массивы, которые сами по себе являются расширяемыми объектами Clay.
  • Задайте свойства с помощью связанных сеттеров в стиле jQuery, именованных аргументов или анонимных типов.
  • Считаться реализациями интерфейса, если они имеют правильный набор свойств.

Домашняя страница: http://clay.codeplex.com/

Nu-Get: глина для инсталляционного пакета