Je créais un Func comme entrée de paramètre pour une autre méthode, mais comment invoquer cela?Invoke méthode en Func lors de la transmission en tant que paramètre
Le code suivant décrit mon travail:
J'appelle Foo avec:
Foo(x => x.SlidingExpiration(TimeSpan.FromSeconds(50)));
Ma méthode Foo:
public void Foo(Func<CacheExpiration, TimeSpan> cacheExpiration)
{
....
inside here I want to call RefreshCache, but how?.. cacheExpiration.??
}
Le CacheExpiration :)
public class CacheExpiration
{
TimeSpan timeSpan;
bool sliding;
public TimeSpan SlidingExpiration(TimeSpan ts)
{
this.timeSpan = ts;
this.sliding = true;
return ts;
}
public TimeSpan AbsoluteExpiration(TimeSpan ts)
{
this.timeSpan = ts;
return ts;
}
public bool RefreshCache(MetaObject mo)
{
//some logic....
return true;
}
}
La question n'a pas entièrement de sens. Le paramètre de la fonction 'Foo' est un délégué qui, à la demande, peut transformer une instance' CacheExpiration' en 'Timespan'. La méthode 'Foo' n'a pas de référence à une instance' CacheExpiration' existante à transmettre au délégué. Quel objet 'CacheExpiration' voulez-vous appeler' RefreshCache'? Comment le paramètre délégué aide-t-il à cet égard? Il ne renvoie même pas un objet 'CacheExpiration'. – Ani