Cześć, mam pytanie odnoście sprawdzania typu. Chciałbym aby w sekcji if instrukcje się wykonały gdy mamy kolekcję implementującą interfejs IEnumerable której elementami są obiekty/struktury implementujące IComparable. Mam niestety z tym kłopot.
Spójrzmy na ten kod:
static void Main(string[] args)
{
object stringList = new List<string> { "Text1", "Text2" };
object intList = new List<int> { 1, 2, 3 };
if (stringList is IEnumerable<IComparable>)
Console.WriteLine("Test1");
if (intList is IEnumerable<IComparable>)
Console.WriteLine("Test2");
}
- Dlaczego wykonanie wchodzi do pierwszego ifa, a do drugiego już nie? Strzelam że to może być związane z tym iż int jest strukturą, a one nie mogą dziedziczyć.
- Jest jakiś sensowny sposób osiągnięcia rezultatu opisanego na początku postu?