【发布时间】:2013-02-18 09:47:40
【问题描述】:
我已经实现了一个ActionFilterAttribute,它将SomeClass 映射到SomeOtherClass。这是构造函数:
public class MapToAttribute : ActionFilterAttribute
{
private Type _typeFrom;
private Type _typeTo;
public int Position { get; set; }
public MapToAttribute(Type typeFrom, Type typeTo, int Position = 0)
{
this.Position = Position;
this._typeFrom = typeFrom;
this._typeTo = typeTo;
}
...
}
目前的调用方式是:
MapTo(typeof(List<Customer>), typeof(List<CustomerMapper>), 999)
出于审美原因,我更愿意这样做
MapTo(List<Customer>, List<CustomerMapper>, 999)
我试过了
public MapToAttribute(object typeFrom, object typeTo, int Position = 0)
{
this.Position = Position;
this._typeFrom = typeof(typeFrom);
this._typeTo = typeof(typeTo);
}
但无济于事,因为 Visual Studio 会假装 typeFrom 和 typeTo 未定义。
编辑:Attributes 不支持泛型的使用(否则显然是正确的,如下所述)。
【问题讨论】:
标签: c# constructor typeof