I have a C# class defined as follows:
public class GenericItem<T>
{
public List<T> Items { get; set; }
public DateTime TimeStamp { get; set; }
}
I am creating an instance of this class on my server. I am then trying to pass it over the wire via a WCF service as shown here:
[OperationContract]
public GenericItem<MyCustomType> GetResult()
{
GenericItem<MyCustomType> result = BuildGenericItem();
return result;
}
Everything compiles just fine at this point. When I "update service reference" in my Silverlight app an re-compile, I receive a compile-time error, similar to the following:
MyNamespace.GenericItemOfMyCustomType[extra chars] does not contain a public definition for 'GetEnumerator'
I have no idea why:
What am I doing wrong?
Sleiman is correct, but one can use Bounded Generics/ Constraints on type parameters as described in this article, and you may be able to achieve what you want. This allows you to create a generic type within the service and expose it. But the consumer will not view it as generic as the type is specified in the service operation.