Вы можете создать для этого простой класс.
class ExpiringValue<T>
{
protected T _value;
protected DateTime _expiration;
public ExpiringValue(T val, DateTime expiration)
{
_value = val;
_expiration = expiration;
}
public T Value => _expiration < DateTime.Now ? default(T) : _value;
}
Чтобы использовать его, вы можете сделать что-то такое:
var message = new ExpiringValue<string>("Hello world", DateTime.Now.AddSeconds(10));
Console.WriteLine("The message is set to {0}", message.Value);