有没有办法做这样的事情:
public interface ISomething {
Type e { get; }
Expression<Func<e, long>> GetExpression(); //COMPILE ERROR
}
我收到了编译错误:e是属性,但使用类似的类型。
我希望Generic参数由getter决定 - 是否可能?
答案 0 :(得分:4)
如果您想保持ISomething
非通用,那么您只能GetExpression
通用:
public interface ISomething
{
Expression<Func<T, long>> GetExpression<T>();
}
答案 1 :(得分:2)
这应该可以解决问题,但我不太了解e
属性的目的。
public interface ISomething<T>
{
T SomeProperty { get; }
Expression<Func<T, long>> GetExpression();
}
答案 2 :(得分:1)
public interface ISomething<T> {
{
Expression<Func<T, long>> GetExpression();
}