使用泛型 T 访问基础 class 方法
Accessing base class method using generic T
我有这个基地class:
public class BaseEvent
{
public int EventID { get; set; }
public int GetEventID()
{
return EventID;
}
}
然后我有另一个 class 从那个基础继承而来:
public class ValidationResult<T> where T : BaseEvent
{
private void AddEventStatusUpdater(ValidationResult<T> validationResult)
{
validationResult.GetEventID();
}
}
我遇到的问题是我无法从基础 class.
访问 GetEventID() 方法
我认为这可能是因为我使用的是 T 泛型。还有其他方法可以访问此方法吗?
public class ValidationResult<T> where T : BaseEvent
说 T
必须是 BaseEvent
,而不是说 ValidationResult<T>
继承自 BaseEvent
。那将是:
public class ValidationResult<T> : BaseEvent
那里T
不会有任何约束
这是你想要的吗?
您已经开始实现通用接口,而不是从基类继承 class。我认为您打算执行以下操作:
public class ValidationResult : BaseEvent
{
private void AddEventStatusUpdater()
{
var id = this.GetEventID();
}
}
我有这个基地class:
public class BaseEvent
{
public int EventID { get; set; }
public int GetEventID()
{
return EventID;
}
}
然后我有另一个 class 从那个基础继承而来:
public class ValidationResult<T> where T : BaseEvent
{
private void AddEventStatusUpdater(ValidationResult<T> validationResult)
{
validationResult.GetEventID();
}
}
我遇到的问题是我无法从基础 class.
访问 GetEventID() 方法我认为这可能是因为我使用的是 T 泛型。还有其他方法可以访问此方法吗?
public class ValidationResult<T> where T : BaseEvent
说 T
必须是 BaseEvent
,而不是说 ValidationResult<T>
继承自 BaseEvent
。那将是:
public class ValidationResult<T> : BaseEvent
那里T
不会有任何约束
这是你想要的吗?
您已经开始实现通用接口,而不是从基类继承 class。我认为您打算执行以下操作:
public class ValidationResult : BaseEvent
{
private void AddEventStatusUpdater()
{
var id = this.GetEventID();
}
}