using System.Collections.Generic;
public abstract class Business
public string Name { get; set; }
public class Hotel : Business
public int Stars { get; set; }
public string FullName { get; set; }
public IList<Business> Businesses { get; set; }
public static void Main()
Stockholder stockholder = new Stockholder
FullName = "Steve Stockholder",
Businesses = new List<Business>
string jsonTypeNameAll = JsonConvert.SerializeObject(stockholder, Formatting.Indented, new JsonSerializerSettings
TypeNameHandling = TypeNameHandling.All
Console.WriteLine(jsonTypeNameAll);
jsonTypeNameAll = JsonConvert.SerializeObject(stockholder, Formatting.Indented, new JsonSerializerSettings
TypeNameHandling = TypeNameHandling.None
Console.WriteLine(jsonTypeNameAll);
Console.WriteLine(jsonTypeNameAll);
jsonTypeNameAll = JsonConvert.SerializeObject(stockholder, Formatting.Indented, new JsonSerializerSettings
TypeNameHandling = TypeNameHandling.Auto
Console.WriteLine(jsonTypeNameAll);