Estoy intentando crear varios métodos de extensión para un tipo genérico con destino a los parámetros de tipo genérico específicos en Fa #, pero no parece que el lenguaje sea lo que me permite:Los métodos de extensión para tipos genéricos específicos
Lo que querer hacer es algo como lo siguiente:
type IEnumerable<int> with
member this.foo =
this.ToString()
Sin embargo, me da el error del compilador (subrayando la palabra clave int
):
Identificador inesperado en nombre de tipo. Operador de infijo esperado, símbolo de cotización u otro token.
La siguiente qué trabajo, a pesar de que no se une específicamente el parámetro de tipo genérico para int
, ya que quiero:
type IEnumerable<'a> with
member this.foo =
this.ToString()
¿Hay alguna manera de lograr este objetivo en Fa # - Am I quizás solo usando la sintaxis incorrecta? De lo contrario, agradecería que alguien sugiriera una solución alternativa, tal vez utilizando restricciones de tipo en alguna parte.
Parece que estás en lo cierto. Gracias de cualquier manera. – Noldorin
Esta función se rastrea mediante una sugerencia en la base de datos interna de errores F # "4548: Métodos de extensión de soporte para instancias de tipos específicos", pero es poco probable que se corte para la versión VS2010. – Brian