Реализация ObservableCollection - PullRequest
1 голос
/ 11 мая 2010

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

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
 {

 }

Ответы [ 2 ]

2 голосов
/ 11 мая 2010

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

1 голос
/ 11 мая 2010

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

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

В этот момент, если вы щелкнете правой кнопкой мыши, контекстного меню Resolve там не будет.

ObservableCollection

Как только вы заполните общие аргументы:

ObservableCollection<int>

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

Может быть, это то, что вы видели?

...