Cannot resolve symbol T

I have a problem with ObservableCollection Class. I cant resolve this.

using System.Collections.ObjectModel; #region ViewModelProperty: CustomerList private ObservableCollection<T> _customerList = new ObservableCollection<T>(); public ObservableCollection<T> CustomerList { get { return _customerList; } set { _customerList = value; OnPropertyChanged("CustomerList"); } } #endregion 

My class with the ObservableCollection inherits ViewModelBase:

 public abstract class ViewModelBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } } 

any idea, where is the problem?

3 Answers

T is just a placeholder. You need to supply an actual type somewhere for T.

E.g. if you have List<T>, you could make a List<int> or List<string> (T is any other type which fits the given constraints). I.e. T is int in the first case and string in the second.

2

I think that it will become clear to you when you read up a bit on Generics

You could do it like this:

ObservableCollection<Customer> customerList = new ObservableCollection<Customer>() 

Then, you have a typed collection which will be able to store instances of the Customer class (and also instances of subclasses that inherit from Customer). So, if you want to have a collection where you want to be able to add instances of multiple types, you could create a base-class (or interface), and inherit from that base-class or implement this interface, and create an ObservableCollection instance for ex.

1

As previously posted, T is a placeholder. You probably want something like:

private ObservableCollection<T> _customerList = new ObservableCollection < ClassYouWantObserved > (); 
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like