我已经实现了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
未定义。
编辑: s 不支持泛型的使用(否则显然是正确的,如下所述)Attribute
。