动态铸造?

rem*_*dao 3 c# casting dynamic

我需要一种方法将对象强制转换为在编译时不知道的类型.

这样的事情:

object obj;

public (type of obj) Obj
{
    get
    {
        return obj
    }
    set
    {
        obj = (type of obj)value;
    }
}
Run Code Online (Sandbox Code Playgroud)

唯一知道的是obj是一种值类型.

我怀疑这样的事情是可能的.只是检查一下是否有人聪明地做这件事.

Mar*_*ann 6

这在C#3.0中是不可能的,但如果您可以定义所有对象实现的公共接口,则可以转换为该接口.

在C#4.0中,我们将获得dynamic允许我们进行Duck Typing 的关键字.