簡體   English   中英

演員班<object>上課<T>

[英]Cast Class<object> to Class<T>

我們有一個名為Context<T> where T : class的通用類Context<T> where T : class ,並創建另一個類Message與前一個類一起使用作為Context<Message> 一般來說,我們想知道是否有辦法將Context<object>轉換回Context<Message> 我們可以檢查該對象是否為 Message 類型,但執行Context<Message> context = (Context<Message>) otherContext; 其中 otherContext 是Context<object>

這在某種程度上可能嗎?

如果你更喜歡演員,試試這個:

class YourClass<T> where T : class
{
    public static implicit operator YourClass<T>(YourClass<object> instance)
    {
        // Create YourClass<T> from YourClass<object>
        // e.g. return new YourClass<T>(...)
    }
}

var obj = new YourClass<object>();
YourClass<Message> msg = obj;

否則,您可以創建一個構造函數:

class YourClass<T> where T : class
{
    public YourClass(YourClass<object> obj)
    {

    }
}

或者你可以兩者兼得。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM