C# 在方法中访问委托
我试图实现一个接口,它有这样的方法C# 在方法中访问委托,c#,func,C#,Func,我试图实现一个接口,它有这样的方法 public object GetOrCreate<T>(string key, Func<ICacheEntry, T> func) { } public对象GetOrCreate(字符串键,Func-Func) { } 从方法声明中,我发现传递了ICacheEntry和genericT类型对象。也许有人可以帮助理解如何在方法中访问这两个参数?如下: public object GetOrCreate<T>(stri
public object GetOrCreate<T>(string key, Func<ICacheEntry, T> func)
{
}
public对象GetOrCreate(字符串键,Func-Func)
{
}
从方法声明中,我发现传递了ICacheEntry
和genericT
类型对象。也许有人可以帮助理解如何在方法中访问这两个参数?如下:
public object GetOrCreate<T>(string key, Func<ICacheEntry, T> func)
{
ICacheEntry someCacheEntry = ...;
T someTinstance = func(someCacheEntry);
return (object)someTinstance;
}
public对象GetOrCreate(字符串键,Func-Func)
{
ICacheEntry someCacheEntry=。。。;
T someTinstance=func(someCacheEntry);
返回(对象)某个位置;
}
func
是委托方法参数
T
是泛型类型参数,它不是真正的类型,它是未知类型的passe partout可替换参数T
来自单词模板
您可能需要阅读以下教程:
要学习C#,请执行以下操作:
这里的任何人都无法决定性地告诉您如何处理键参数,您需要查阅文档或使用此方法来确定键的用途。不过我可以猜测,这是某种字典方法,在这种情况下,键用于通过一个键来区分几个不同值的缓存。@OlivierRogier不确定您的答案为什么被否决,但它起作用并解释了很多。非常感谢。主意也许关键是用来获取这样的ICacheEntry:
ICacheEntry someCacheEntry=someProvider(key,…)