KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Is it possible to add a generic delegate Action to a List collection? I need some kind of simple messaging system for a Silverlight application. UPDATE The following is what i realy "want" class SomeClass<T> { public T Data { get; set; } // and more .... } class App { List<Action<SomeClass<T>>> _actions = new List<Action<SomeClass<T>>>(); void Add<T>( Action<SomeClass<T>> foo ) { _actions.Add( foo ); } } Compiler: The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?) initial code snipped class SomeClassBase { } class SomeClass<T> : SomeClassBase { public T Data { get; set; } // and more .... } class App { List<Action<SomeClassBase>> _actions = new List<Action<SomeClassBase>>(); void Add<T>( Action<SomeClass<T>> foo ) where T : SomeClassBase { _actions.Add( foo ); } } The compiler complains - for the _actions.Add() line; Argument 1: cannot convert from 'System.Action<test.SomeClass<T>>' to 'System.Action<test.SomeClassBase>' The best overloaded method match for 'System.Collections.Generic.List<System.Action<test.SomeClassBase>>.Add(System.Action<test.SomeClassBase>)' has some invalid arguments From the application side there is no need for the SomeClassBase class, yet it seems impossible to define a List of Action<SomeClass<T>> elements and the approach with the base-class works when using the class in the List, instead of the Action Thanks, jochen
Tags (comma-separated)
Save Edits
Cancel