Como serializar um IList <T>?

Eu tenho um mapeador OR (iBatis.Net) que retorna um IList.

// IList<T> QueryForList<T>(string statementName, object parameterObject);
var data = mapper.QueryForList<Something>(statement, parameters);

Estou tentando usá-lo em um serviço da web e deseja retornar os dados 1: 1. Claro que não posso retornar o IList em um WebMethod, porque é uma interface e, portanto, não é serializável.

Descobri que o mapeador realmente está retornando uma lista. Mas tenho medo de convertê-lo para a Lista porque, é claro, o funcionamento interno dos mapeadores pode mudar em versões futuras (e parece sujo).

Então eu deveria ...

a) return new List<Something>(data);

b) return (List<Something>)data;

c) // your solution here

Muito obrigado!

questionAnswers(3)

yourAnswerToTheQuestion