.NET Fiddle

CSharp · Console

/Program.cs

using System;

public class Program
{
	public static void Main()
	{
		var x = new MyClass();
		x.FieldArray = new Field<dynamic>[5];
		x.FieldArray[0] = new Field<dynamic>();
		x.FieldArray[0].Value = "Teste";
		
		x.FieldArray[1] = new Field<dynamic>();
        x.FieldArray[1].Value = 1;
		
		Console.WriteLine(x.FieldArray[0].Value);
		Console.WriteLine(x.FieldArray[1].Value);
	}

	public class Field<TValue>
	{
		public string Name
		{
			get;
			set;
		}

		public TValue Value
		{
			get;
			set;
		}

		public Field()
		{
		}

		public Field(string name, TValue value)
		{
			this.Name = name;
			this.Value = value;
		}
	}

	public class MyClass
	{
		public string Prop1
		{
			get;
			set;
		}

		public int Prop2
		{
			get;
			set;
		}

		public Field<dynamic>[] FieldArray
		{
			get;
			set;
		}
	}
}
;