2013-07-31 3 views
-8

Как проверить параметры типа в методе с помощью кодовых контрактов?Как проверить параметры типа в методе?

мне нужно проверить аргумент типа в методе

+1

Вы имеете в виду тип объектов, переданных в ваш метод, или типы, которые указаны для общих параметров? – Guvante

+0

Вы уверены, что дженерики - это не путь? –

+0

Если у вас есть требования к типу аргументов для метода, почему бы вам просто не написать правильный тип для параметров, чтобы начать? –

ответ

3

Как насчет

public void MyMethod(object parameter) 
{ 
    if (parameter.GetType() == typeof(Int32)) 
    { 
     //Do some stuff 
    } 
} 

В продолжение на другие question

class ManagerCar : IBlalba 
{ 
    public void Render(IViewTemplate template) 
    { 
     if (template.GetType() == typeof(CarViewTemplate)) 
     { 
      //Do some stuff 
     } 
    } 
} 
+1

Это не использует контракты по запросу OP. – Amy

0

Я думаю, что это нужно сделать, это:

Contract.Requires(yourParameter is YourType); 

Хотя я должен сказать, что это звучит как довольно плохая идея, если только вы не должны использовать недопустимые типы для целей реализации интерфейса.