从通用字典中删除项目?

Sea*_*son 1 c# refactoring templating

我有这个:

public static void Remove<T>(string controlID) where T: new()
{
    Logger.InfoFormat("Removing control {0}", controlID);
    T states = RadControlStates.GetStates<T>();

    //Not correct.
    (states as SerializableDictionary<string, object>).Remove(controlID);
    RadControlStates.SetStates<T>(states);
}
Run Code Online (Sandbox Code Playgroud)

states将始终是带有字符串键的SerializableDictionary.值的类型各不相同.有没有办法表达这个?转换为SerializableDictioanry<string, object>始终产生null.

Ric*_*key 5

您可以使用非通用字典界面:

(states as IDictionary).Remove(controlID);
Run Code Online (Sandbox Code Playgroud)