结构体和对象的通用基类实现

时间:2019-03-26 14:32:24

标签: c# generics

我有这个基类:

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

对此有什么解决办法吗?我只想检查一下我回来后是否还可以。

0 个答案:

没有答案
相关问题