diff --git a/test/dotnet/example_project/.gitignore b/test/dotnet/example_project/.gitignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/test/dotnet/example_project/.gitignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/test/dotnet/example_project/Movie.cs b/test/dotnet/example_project/Movie.cs new file mode 100644 index 0000000..9d549ef --- /dev/null +++ b/test/dotnet/example_project/Movie.cs @@ -0,0 +1,8 @@ +// See https://aka.ms/new-console-template for more information + +internal class Movie +{ + public string Name { get; set; } = "Default Name"; + public DateTime ReleaseDate { get; set; } + public List Genres { get; set; } = new List(); +} diff --git a/test/dotnet/example_project/Program.cs b/test/dotnet/example_project/Program.cs new file mode 100644 index 0000000..7beb65f --- /dev/null +++ b/test/dotnet/example_project/Program.cs @@ -0,0 +1,27 @@ +// See https://aka.ms/new-console-template for more information + +using Newtonsoft.Json; + +Console.WriteLine("Hello, World!"); + +string json = @"{ + 'Name': 'Inception', + 'ReleaseDate': '2010-07-08T00:00:00', + 'Genres': [ + 'Action', + 'Thriller' + ] +}"; + +Movie? m = JsonConvert.DeserializeObject(json); + +if (m == default) +{ + Console.WriteLine("Decoding failed!"); +} +else +{ + Console.WriteLine($"Name: {m.Name}"); + Console.WriteLine($"Release Date: {m.ReleaseDate}"); + Console.WriteLine($"Genres: {string.Join(", ", m.Genres)}"); +} diff --git a/test/dotnet/example_project/example_project.csproj b/test/dotnet/example_project/example_project.csproj new file mode 100644 index 0000000..6132c9e --- /dev/null +++ b/test/dotnet/example_project/example_project.csproj @@ -0,0 +1,14 @@ + + + + Exe + net7.0 + enable + enable + + + + + + +