Csharp.TypeProvider
0.1.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Csharp.TypeProvider --version 0.1.0
NuGet\Install-Package Csharp.TypeProvider -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Csharp.TypeProvider" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Csharp.TypeProvider --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Csharp.TypeProvider, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Csharp.TypeProvider as a Cake Addin
#addin nuget:?package=Csharp.TypeProvider&version=0.1.0
// Install Csharp.TypeProvider as a Cake Tool
#tool nuget:?package=Csharp.TypeProvider&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
TypeProvider.General
A prototype remake of FSharp.TypeProvider in CSharp
Usage :
[EmitType, Csv] private static string Grades { get; } = @"
""Last name"", ""First name"", ""Date Of Birth"", ""Subject1"", ""Subject2"", ""Subject3""
""Doe"", ""John"", 1999-07-23, 23.0, 69.0, 42.0
""Doe"", ""Jane"", 2001-02-16, 16.0, 48.0, 84.0
""Doe"", ""John"", 2010-11-25, 25.0, 75.0, 168.0";
[EmitType, Json, FromUri] private static string TodoItem { get; } = "https://jsonplaceholder.typicode.com/todos/1";
[EmitType, Xml, FromUri] private static string PersonOfInterest { get; } = "D:\\Projects\\TypeProvider\\FileSample.xml";
private static void Main(string[] args)
{
var todoItem_string = (new System.Net.WebClient()).DownloadString("https://jsonplaceholder.typicode.com/todos/23");
var person_string = File.ReadAllText("D:\\Projects\\TypeProvider\\FileSample.xml");
if (TodoItem_T.TryParse(todoItem_string, out var todoItem))
{
Console.WriteLine(todoItem);
}
if (PersonOfInterest_T.TryParse(person_string, out var person2))
{
Console.WriteLine(person2);
}
foreach(var student in Grades_T.ParseTable(Grades, hasHeader: true))
{
Console.WriteLine(student);
}
}
Generated (without parsers):
- Xml Case :
public record PersonOfInterest_T {
public DateTime DateOfBirth { get; set; }
public String[] Nationalities { get; set; }
public String Name { get; set; }
public Decimal Age { get; set; }
}
- Json Case :
public record TodoItem_T {
public Decimal userId { get; set; }
public Decimal id { get; set; }
public String title { get; set; }
public Boolean completed { get; set; }
}
- Csv Case :
public record Grades_T {
public String LastName { get; set; }
public String FirstName { get; set; }
public DateTime DateOfBirth { get; set; }
public Decimal Subject1 { get; set; }
public Decimal Subject2 { get; set; }
public Decimal Subject3 { get; set; }
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.