Si uso los proveedores de tipo F # del ensamblado FSharp.Data.TypeProviders 4.3.0.0, puedo crear tipos en una biblioteca F # muy simple. Entonces puedo usar esos tipos sin ninguna dependencia en el ensamblado FSharp.Data.TypeProviders. Eso es muy dulce! Aquí hay un ejemplo:¿Cómo creo un proveedor de tipo F # que pueda usarse desde C#?
Creé un proyecto de biblioteca F # llamado TryTypeProviders. Pongo esto en los .fs:
module TryTypeProviders
type Northwind = Microsoft.FSharp.Data.TypeProviders.ODataService
entonces soy capaz de usar la # biblioteca F de un proyecto de C#:
public static void Main()
{
var c = new TryTypeProviders.Northwind();
foreach (var cust in c.Customers)
Console.WriteLine("Customer is: " + cust.ContactName);
Console.ReadKey(true);
}
no he podido encontrar ningún ejemplo práctico de cómo crea un tipo de proveedor como este. No se puede acceder a los proveedores de tipos en FSharpx.TypeProviders desde C#. Supongo que se trata de tipos borrados y no generados. Todavía estoy un poco borrosa en la que es el que, pero es defined here as:
- tipos generados son tipos de .NET reales que se incrustan en el conjunto que utiliza el proveedor de tipo (esto es lo que los proveedores de tipo que se envuelven herramientas de generación de código como el uso de sqlmetal)
- Los tipos borrados son tipos simulados que están representados por algún otro tipo cuando se compila el código.
Las muestras del F# 3.0 Sample Pack mencionadas en MSDN tutorial no funcionan para mí. Construyen, pero cuando trato de usarlos obtengo errores.
open Samples.FSharp.RegexTypeProvider
type PhoneNumberRegEx = CheckedRegexProvider< @"(?<AreaCode>^\d{3})-(?<PhoneNumber>\d{3}-\d{4}$)">
open Samples.FSharp.MiniCsvProvider
type csv = MiniCsvProvider<"a.csv">
Se último lanzado en marzo de 2011 y mi conjetura es que todavía no reflejan la versión final de los proveedores de tipo suministrada con Visual Studio 2012.
F Proveedores # Tipo ven como una gran tecnología, pero necesitamos ayuda para construirlos. Cualquier ayuda es apreciada.
como minúsculas muestras de proveedores de tipo generativo que se pueden examinar en el conjunto de pruebas de ProvidedTypes API en Codeplex (http://fsharp3sample.codeplex.com/) – desco
Gracias Tomas, eso definitivamente me ayudó a entender los tipos de proveedores. Logré que un proveedor de tipo generativo trabajara en VS 2012. Pude usarlo para crear tipos en una biblioteca F # y usar esa biblioteca desde una aplicación C#. Todo el código está en GitHub e hice una publicación en el blog para documentar algunas cosas que aprendí en el camino: [http://blog.ctaggart.com/2012/08/how-do-i-create-f-type- provider-that.html] (http://blog.ctaggart.com/2012/08/how-do-i-create-f-type-provider-that.html) –
[link] (http: // blendinsider. com/technical/available-now-blend-for-visual-studio-2012-2012-08-15 /) Hola. F # 3.0 Expert pg 468. Uso de VS '12 Pro. ¿Cuál es el estado de Fsharpx.TypePoviders.XAML con VS'12Pro? ¿Funciona solo con Express? ¿Pro y Express funcionan y juegan bien juntos? –