Как вариант, использовать список типа dynamic:
List x = new List();
Но по сути это то же, что и список Object'ов, только ещё медленнее работающий, но не требующий явного приведения типов в коде. Учтите, что использование dynamic может нанести ущерб производительности, т.к. за ним стоит рефлекшн. Пример:
Copy Source | Copy HTML
- using System;
- using System.Collections.Generic;
- namespace Test
- {
- class Program
- {
- public static void Main(string[] args)
- {
- List<dynamic> list = new List<dynamic>();
- list.Add(1);
- list.Add("sdfsdf");
-
- foreach (dynamic item in list)
- Write(item);
-
- Console.ReadKey(true);
- }
-
- public static void Write(Int32 intValue)
- {
- Console.WriteLine("Int: " + intValue);
- }
- public static void Write(String stringValue)
- {
- Console.WriteLine("String: " + stringValue);
- }
- }
- }