Ну, вы не можете делать это до C # 3.0, используйте Tuples, если вы можете использовать C # 4.0, как упоминалось в других ответах.
Однако в C # 3.0 - создайте Immutable structure
, оберните все типы типов внутри структуры и передайте тип структуры в качестве аргумента универсального типа в ваш список.
public struct Container
{
public string String1 { get; private set; }
public int Int1 { get; private set; }
public int Int2 { get; private set; }
public Container(string string1, int int1, int int2)
: this()
{
this.String1 = string1;
this.Int1 = int1;
this.Int2 = int2;
}
}
//Client code
IList<Container> myList = new List<Container>();
myList.Add(new Container("hello world", 10, 12));
Если вам интересно, зачем создавать неизменяемые структуры - оформить заказ здесь .