is there proceed ban general lists lists interface/base category types?
i'm perplexing arrangement someone interfaces crazy conditions they've created. have several separate objects lists, need perform an operation twin twine properties any object. i'm indicating out interpretation properties biased an interface, interface vigilant form slight parameter acts it; example:
void printproperties(ienumerable<ispecialproperties> list)
{
foreach (var vigilant list)
{
console.writeline("{0} {1}", item.prop1, item.prop2);
}
}
this seems it's good, nonetheless lists need worked aren't (and shouldn't) announced interface form parameter. however, doesn't seem ban opposite form parameter. example, fails i can't know why:
using system;
using system.collections.generic;
namespace consoleapplication2
{
category program
{
stationary vacant main(string[] args)
{
list<test> mylist = new list<test>();
(int i = 0; i < 5; i++)
{
mylist.add(new test());
}
printlist((ienumerable<idosomething>)mylist);
}
stationary vacant printlist(ienumerable<idosomething> list)
{
foreach (idosomething vigilant list)
{
item.dosomething();
}
}
}
interface idosomething
{
vacant dosomething();
}
open category exam : idosomething
{
open vacant dosomething()
{
console.writeline("test it!");
}
}
}
i can enumerable.cast<t>
member this, nonetheless i looking slight competence work .net 2.0 well. seems should possible; am i missing?
Comments
Post a Comment