Не удается создать экземпляр типа переменной «Item», поскольку он не имеет ограничения new ()

Я пытаюсь проверить метод - и получаю ошибку:

Cannot create an instance of the variable type 'Item' because it does not have the new() constraint

Необходимая информация для ниже:

public interface IHasRect
{
 Rectangle Rectangle { get; }
}

Хелпер класс:

class Item : IHasRect
{
  public Item(Point p, int size)
  {
     m_size = size;
     m_rectangle = new Rectangle(p.X, p.Y, m_size, m_size); 
  }
}

Чтобы проверить функцию, мне нужно создать экземпляр объекта ...

public class SomeClass where T : IHasRect

Тест:

public void CountTestHelper()
  where Item : IHasRect
  {
    Rectangle rectangle = new Rectangle(0, 0, 100, 100); 
    SomeClass target = new SomeClass(rectangle);            
    Point p = new Point(10,10);
    Item i = new Item(p, 10);      // error here        
    ...
  }
[TestMethod()]
public void CountTest()
{
  CountTestHelper();
}   

Я пытаюсь понять, что означает эта ошибка или как ее исправить, прочитавhttp://msdn.microsoft.com/en-us/library/d5x73970.aspx а такжеhttp://msdn.microsoft.com/en-us/library/x3y47hd4.aspx - но это не такТ помочь.

Я нене понимаю эту ошибку - я уже ограничил "SomeClass» быть типом. Я не могу ограничить весь класс Test (класс модульных тестов, сгенерированный Visual Studio, который содержит все тесты) - в противном случае я получу ряд других ошибок. Класс Item ненет шаблона ...

Пожалуйста, помогите мне исправить эту ошибку. Спасибо.

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

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