public ShellView() { InitializeComponent(); // ここは本来Di Container を使うべき。 // サンプルのため、以下の方法でInjection している。 var useCase = new ExampleUseCase(new ProgressPresenter()); DataContext = new ShellViewModel(useCase); }
// main public static string[] KeyExamples(Type type, ExampleUseCase useCase, int counter) { string[] keys = null; if (type == typeof(bool)) { keys = BoolExample.Invoke((bool o) => o.ToString()); } else if (type == typeof(sbyte)) { keys = SbyteExample.Invoke((sbyte o) => o.ToString()); } else if (type == typeof(byte)) { keys = ByteExample.Invoke((byte o) => o.ToString()); } else if (type == typeof(short)) { keys = ShortExample.Invoke((short o) => o.ToString()); } else if (type == typeof(ushort)) { keys = UshortExample.Invoke((ushort o) => o.ToString()); } else if (type == typeof(int)) { keys = IntExample.Invoke((int o) => o.ToString()); } else if (type == typeof(uint)) { keys = UintExample.Invoke((uint o) => o.ToString()); } else if (type == typeof(long)) { keys = LongExample.Invoke((long o) => o.ToString()); } else if (type == typeof(ulong)) { keys = UlongExample.Invoke((ulong o) => o.ToString()); } else if (type == typeof(char)) { keys = CharExample.Invoke((char o) => o.ToString()); } else if (type == typeof(float)) { keys = FloatExample.Invoke((float o) => o.ToString()); } else if (type == typeof(double)) { keys = DoubleExample.Invoke((double o) => o.ToString()); } else if (type == typeof(decimal)) { keys = DecimalExample.Invoke((decimal o) => o.ToString()); } else if (type == typeof(DateTime)) { keys = DateTimeExample.Invoke(o => o.ToString("o")); } else if (type == typeof(DateTimeOffset)) { keys = DateTimeOffsetExample.Invoke(o => o.ToString("o")); } else if (type == typeof(TimeSpan)) { keys = TimeSpanExample.Invoke(o => o.ToISO8601()); } else if (type == typeof(string)) { if (useCase == ExampleUseCase.Base64) { keys = Base64Example; } else { keys = StringExample; } } else if (type == typeof(Guid)) { keys = GuidExample.Invoke((Guid o) => o.ToString()); } else if (type == typeof(BitArray)) { keys = BitArrayExample.Invoke(o => o.ToString('0', '1')); } else if (type == typeof(PhysicalAddress)) { keys = PhysicalAddressExample.Invoke((PhysicalAddress o) => o.ToString()); } else if (type == typeof(IPAddressCidr)) { keys = IPAddressCidrExample.Invoke((IPAddressCidr o) => o.ToString()); } else if (type == typeof(IPAddress)) { keys = IPAddressExample.Invoke((IPAddress o) => o.ToString()); } else { keys = null; } if (counter == -1 || keys == null) { return(keys); } else { return(keys[counter % keys.Length].Array()); } }
public static IOpenApiAny ValueExample(Type type, ExampleUseCase useCase) => ValueExamples(type, useCase, internalCounter++)?[0];
public static IOpenApiAny[] ValueExamples(Type type, ExampleUseCase useCase) => ValueExamples(type, useCase, -1);
public static string KeyExample(Type type, ExampleUseCase useCase) => KeyExamples(type, useCase, internalCounter++)?[0];
public static string[] KeyExamples(Type type, ExampleUseCase useCase) => KeyExamples(type, useCase, -1);
public static IOpenApiAny[] ValueExamples(Type type, ExampleUseCase useCase, int counter) { IOpenApiAny[] values = null; if (type == typeof(bool)) { values = BoolExample.Invoke(o => new OpenApiBoolean(o)); } else if (type == typeof(sbyte)) { values = SbyteExample.Invoke(o => new OpenApiInteger(o)); } else if (type == typeof(byte)) { values = ByteExample.Invoke(o => new OpenApiInteger(o)); } else if (type == typeof(short)) { values = ShortExample.Invoke(o => new OpenApiInteger(o)); } else if (type == typeof(ushort)) { values = UshortExample.Invoke(o => new OpenApiInteger(o)); } else if (type == typeof(int)) { values = IntExample.Invoke(o => new OpenApiInteger(o)); } else if (type == typeof(uint)) { values = UintExample.Invoke(o => new OpenApiLong(o)); } else if (type == typeof(long)) { values = LongExample.Invoke(o => new OpenApiLong(o)); } else if (type == typeof(ulong)) { values = UlongExample.Invoke((ulong o) => new OpenApiString(o.ToString())); } else if (type == typeof(char)) { values = CharExample.Invoke((char o) => new OpenApiString(o.ToString())); } else if (type == typeof(float)) { values = FloatExample.Invoke(o => new OpenApiFloat(o)); } else if (type == typeof(double)) { values = DoubleExample.Invoke(o => new OpenApiDouble(o)); } else if (type == typeof(decimal)) { values = DecimalExample.Invoke((decimal o) => new OpenApiString(o.ToString())); } else if (type == typeof(DateTime)) { values = DateTimeExample.Invoke(o => new OpenApiDateTime(o)); } else if (type == typeof(DateTimeOffset)) { values = DateTimeOffsetExample.Invoke(o => new OpenApiDateTime(o)); } else if (type == typeof(TimeSpan)) { values = TimeSpanExample.Invoke(o => new OpenApiString(o.ToISO8601())); } else if (type == typeof(string)) { if (useCase == ExampleUseCase.Base64) { values = Base64Example.Invoke(o => new OpenApiString(o)); } else { values = StringExample.Invoke(o => new OpenApiString(o)); } } else if (type == typeof(Guid)) { values = GuidExample.Invoke((Guid o) => new OpenApiString(o.ToString())); } else if (type == typeof(BitArray)) { values = BitArrayExample.Invoke(o => new OpenApiString(o.ToString('0', '1'))); } else if (type == typeof(PhysicalAddress)) { values = PhysicalAddressExample.Invoke(o => new OpenApiString(o.ToString(":"))); } else if (type == typeof(IPAddressCidr)) { values = IPAddressCidrExample.Invoke((IPAddressCidr o) => new OpenApiString(o.ToString())); } else if (type == typeof(IPAddress)) { values = IPAddressExample.Invoke((IPAddress o) => new OpenApiString(o.ToString())); } else { values = null; } if (counter == -1 || values == null) { return(values); } else { return(values[counter % values.Length].Array()); } }