2015-01-07 3 views
0

IsAbstract, похоже, не существует. Куда он пошел?Как проверить, является ли тип абстрактным?

[TestMethod] 
public void IsAbstractBaseClass() 
{ 
    Type type = typeof(ViewModelBase); 
    Assert.IsTrue(type.IsAbstract); 
} 
+0

Что еще более важно, зачем вам проверять, является ли тип абстрактным или нет? Модульные тесты должны проверять, как работает код, а не как он написан. –

+1

Какая ошибка у вас? Какую инфраструктуру .Net вы используете? – fcuesta

+0

@fcuesta - см. Теги вопросов. –

ответ

1

для приложений Windows Store можно использовать TypeInfo:

using System.Reflection; 
type.GetTypeInfo().IsAbstract; 

IsAbstract не поддерживается в .NET для приложений Windows Store. Если вы проверите этот метод здесь: http://msdn.microsoft.com/en-us/library/system.type(v=vs.110).aspx , вы увидите, что соответствующий значок для приложений Windows Store отсутствует.

1

Наши репозитории необходимы для использования абстрактного класса базового репозитория. Я проверить соответствие строки в моем тесте

Assert.IsTrue(instanceToBeTested is MyAbstractClassHere); 
+0

это.GetSut() - это что? –

+0

SUT не подходит для тестирования системы. Просто замените это своим классом. Я заменил его «instanceToBeTested» для лучшей читаемости. –

Смежные вопросы