Мне известно о проблеме при создании пользовательских коллекций, наследуемых от List<T>
или ICollection<T>
с дополнительными пользовательскими свойствами:
public class MyCollection: List<int>
{
public string MyCustomProperty { get; set; }
}
Насколько я знаю, такая коллекция будет передана WCF как ArrayOfInt, и WCF не будет сериализовать мое пользовательское свойство. Решение состоит в том, чтобы создать класс-оболочку, который будет управлять коллекцией внутри и будет иметь настраиваемое свойство.
Я хочу сделать более удобный обходной путь для своих нужд... у IEnumerable<T>
будет такая же проблема?
public class MyCollection: IEnumerable<int>
{
/**************/
/* Code that implements IEnumerable<int> and manages the internal List<T> */
/* I know I will not able to cast it to List<T>, but I don't need it. */
/* If I will need it, I will implement cast operators later */
/**************/
public string MyCustomProperty { get; set; }
}
Будет ли указанный выше класс pass throw WCF включать значение MyCustomProperty?
Спасибо