ключевое слово var не всегда работает?

C #, VS 2010. Кто-нибудь, пожалуйста, объясните, почему я могут использоватьvar в моем коде ниже!

var props = TypeDescriptor.GetProperties(adapter);

// error CS1061: 'object' does not contain a definition for 'DisplayName'
foreach (var prop in props)
{
    string name = prop.DisplayName;
}

// No error
foreach (PropertyDescriptor prop in props)
{
    string name = prop.DisplayName;
}

TypeDescriptor.GetProperties возвращаетPropertyDescriptorCollection с примерамиPropertyDescriptor, Почему можнот компилятор это видит?

Ответы на вопрос(5)

Ваш ответ на вопрос