2010-05-11 3 views
1

Я знаю, что мне не хватает чего-то очевидного, но я не могу реализовать ObservableCollection в своем классе ниже. IE он не появится в intellsense. Может кто-то, пожалуйста, дайте мне знать, чего я не хватает.Выполнение ObservableCollection

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Collections; 
using System.Collections.ObjectModel; 
using System.Reflection; 
using System.ComponentModel; 

namespace MyBTOList 
{ 
public class InventoryListBTO : List<InventoryBTO> 
{ 
    /// <summary> 
    /// Get all inventory records from local database 
    /// </summary> 
    /// <returns></returns> 
    public static InventoryListBTO GetAllInventoryRecords() 
    { 
     return GetInventoryListBO(Inventory.GetAllInventoryRecordsDb()); 
    } 
} 

public class InventoryBTO : INotifyPropertyChanged 
{ 

} 
+0

Где Наблюдаемая коллекция? Вы имеете в виду INotifyPropertyChanged? InventoryBTO не имеет реализации, вам нужно что-то реализовать. А что такое GetInventoryListBO? Он не может быть методом для InventoryBTO, поскольку реализация не выполняется. –

+0

Скомпилирует ли это, если нет, то какие ошибки? Иногда Intellisenseless не будет отображать ваш новый код, пока, по крайней мере, один компилятор. –

+1

Он не появится в intellsense, поэтому я не могу его реализовать. – user337816

ответ

2

Если вы используете .NET 3.0 или 3.5 SP1 ObservableCollection в WindowsBase.dll. В 4.0 он находится в System.dll.

+0

Спасибо, это было. Я забыл, что эта ссылка не добавляется автоматически с помощью библиотек классов. – user337816

1

ObservableCollection проживает в System.Collections.ObjectModel пространства имен. Если вы включили правильные сборки (что должно быть правильно по умолчанию), это не должно быть проблемой.

Одна вещь с универсальными типами в VS Intellisense заключается в том, что IDE не предложит вам включить правильное пространство имен до тех пор, пока вы полностью не наберете общие аргументы.

На данный момент, если вы щелкните правой кнопкой мыши, контекстного меню «Разрешение» не будет.

ObservableCollection 

После заполнения общих аргументов:

ObservableCollection<int> 

Resolve контекстное меню будет доступно, и вы можете добавить или изменить using System.Collections.ObjectModel;ObservableCollection<int> в System.Collections.ObjectModel.ObservableCollection<int>.

Возможно, это то, что вы видели?

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