我有这个基类:
public class Result<T>
{
public T Object { get; set; }
}
和此派生类型:
public class OkResult<T> : Result<T>
{
}
具有这种衍生类型的
public class Ok : OkResult<Object>
{
}
要使用带有此签名的方法作为返回:
Result<Guid> Test()
{
return new OkResult<Guid>(Guid.NewGuid());
}
我可以这样使用:
var test = Test();
if(test is Ok)
{
do something...
}
还有这个(如果您同样执行错误操作)
var test = Test();
if(test is Error)
{
do something...
}
我的问题是,尽管struct从对象继承,但仅对对象有效,它对结构和对象均无效。我无法将结果转换为“确定”。尽管Ok继承自OkResult
对此有什么解决办法吗?我只想检查一下我回来后是否还可以。