¿Cómo serializar una IList <T>?

Tengo un mapeador OR (iBatis.Net) que devuelve una IList.

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

Estoy tratando de usarlo en un servicio web y quiero devolver los datos 1: 1. Por supuesto, no puedo devolver IList en un WebMethod, porque es una interfaz y, por lo tanto, no se puede serializar.

Descubrí que el mapeador realmente está devolviendo una Lista. Pero me da miedo lanzarlo a la lista porque, por supuesto, el funcionamiento interno de los mapeadores podría cambiar en futuras versiones (y simplemente se siente sucio).

Entonces debería ...

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

b) return (List<Something>)data;

c) // your solution here

¡Muchas gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta