c# general category "specialized" constructor


i have category following:



public category dropdowncontrol<t, key, value> : basecontrol
where key: icomparable
{
private ienumerable<t> menumerator;
private func<t, key> mgetkey;
private func<t, value> mgetvalue;
private func<key, bool> miskeyincollection;

open dropdowncontrol(string name, ienumerable<t> enumerator, func<t, key> getkey, func<t, value> getvalue, func<key, bool> iskeyincollection)
: base(name)
{
menumerator = enumerator;
mgetkey = getkey;
mgetvalue = getvalue;

miskeyincollection = iskeyincollection;
}


and i wish supplement preference duty dictionaries (because support operations good own).



but problem such constructor wholly mention pivotal value nonetheless t directly, nonetheless t only keyvaluepair. there proceed tell compiler constructor t keyvaluepair, like:



public dropdowncontrol<keyvaluepair<key, value>>(string name, idictionary<key, value> dict) { ... }


currently i stationary emanate duty workaround, nonetheless i proceed constructor better.



public stationary dropdowncontrol<keyvaluepair<dkey, dvalue>, dkey, dvalue> create<dkey, dvalue>(string name, idictionary<dkey, dvalue> dictionary)
where dkey: icomparable
{
relapse new dropdowncontrol<keyvaluepair<dkey, dvalue>, dkey, dvalue>(name, dictionary, kvp => kvp.key, kvp => kvp.value, pivotal => dictionary.containskey(key));
}


Comments

Popular posts from this blog

list macos calm editors formula editors

how i practical urls indicate .aspx pages asp.net deployed an iis? (preferably but iis)

jaxb - xjc - reworking generated typesafe enum category members