public readonly int Random;
public MyStruct(int value)
Random=new Random(value).Next();
Console.WriteLine($"{nameof(MyStruct)} created - Value:{Value} - Random: {Random}");
Console.WriteLine($"{nameof(MyStruct)} executed - Value:{Value} - Random: {Random}");
public readonly int Random;
public MyClass(int value)
Random = new Random(value).Next();
Console.WriteLine($"{nameof(MyClass)} created - Value:{Value} - Random: {Random}");
Console.WriteLine($"{nameof(MyClass)} executed - Value:{Value} - Random: {Random}");
public readonly MyStruct StructField;
public readonly MyClass ClassField;
public readonly MyStruct StructProperty;
public readonly MyClass ClassProperty;
public MyHolder(int val1, int val2, int val3, int val4)
StructField= new MyStruct(val1);
ClassField= new MyClass(val2);
StructProperty= new MyStruct(val3);
ClassProperty= new MyClass(val4);
static void Main(string[] args)
var holder = new MyHolder(1, 2, 3, 4);
Console.WriteLine(nameof(holder.StructField));
holder.StructField.Test();
Console.WriteLine($"{nameof(holder.StructField.Boolean)} - {holder.StructField.Boolean}{Environment.NewLine}");
Console.WriteLine(nameof(holder.ClassField));
holder.ClassField.Test();
Console.WriteLine($"{nameof(holder.ClassField.Boolean)} - {holder.ClassField.Boolean}{Environment.NewLine}");
Console.WriteLine(nameof(holder.StructProperty));
holder.StructProperty.Test();
Console.WriteLine($"{nameof(holder.StructProperty.Boolean)} - {holder.StructProperty.Boolean}{Environment.NewLine}");
Console.WriteLine(nameof(holder.ClassProperty));
holder.ClassProperty.Test();
Console.WriteLine($"{nameof(holder.ClassProperty.Boolean)} - {holder.ClassProperty.Boolean}{Environment.NewLine}");
Console.WriteLine("Done");