sealed

    0熱度

    1回答

    我試圖在Swift中實現Kotlin密封類的效果,以便我可以實現基於類的替代方法來使用關聯類型的枚舉。 編譯錯誤的結果如下: final class Foo { class Bar: Foo {} // Error: inheritance from a final class "Foo" } 有沒有辦法來有效地「密封」的進一步子類一類的雨燕,但仍允許子類擺在首位?

    2熱度

    1回答

    我試圖創建一個不可變的集合類型,其行爲與multiset/bag和Map的混合編號 相同,它記錄了每個項目的出現次數。 我可以用下面的代碼編寫一個可變的代碼,我試圖通過從Map繼承來編寫一個不可變的代碼,但Map被封閉,不會讓我定義任何覆蓋。 type TallySet<'k_t when 'k_t : comparison>() = class // inherit Map<'k_t,

    9熱度

    4回答

    據我所知製作sealed去掉在VTable中查找還是我錯?如果我創建了一個類sealed,這是否意味着類層次結構中的所有虛擬方法也都被標記爲sealed? 例如: public class A { protected virtual void M() { ........ } protected virtual void O() { ........ } } public

    2熱度

    1回答

    我最近一直在使用System.Versionclass並且想知道爲什麼它和其他一些類似簡單的類被標記爲Sealed(NotInheritable在VB中)。 與一些更復雜的課程不同,我沒有看到這樣的課程通過密封會獲得什麼。 據我可以告訴sourceVersion並不意味着任何理由。 是否有已發佈/官方(即不是基於意見)的原因?是否有可能由此導致的一些問題?特別是對於Version的情況,或者對於類

    2熱度

    2回答

    這是一段代碼。當模式匹配時,編譯器不會發出警告。你知道任何解決方法嗎? 我想編譯器發出警告,當我忘記案件時模式匹配SimpleExpr.Expr和OtherExpr.Expr。這種構造允許我因子是常見的兩種表達式樹(如If) trait Hierarchy { sealed trait Expr } trait If { this: Hierarchy => ca

    2熱度

    2回答

    我試圖創建一個類,它使用自己的狀態來操作它所持有的引用的外部對象的狀態。外部對象可以是A類或B類,它們是相似的,但不受作者控制。因此,每個this earlier answer from @SimY4創建一個密封的類以訪問其共同屬性。 // *** DOES NOT COMPILE *** class A { // foreign class whose structure is not mod

    0熱度

    1回答

    這是一個令人討厭的問題; 我有一個「外部」庫(技術上在公司內部,但原始源代碼不再可用,只有DLL),其中sealed類應標記爲廢棄。 可以嗎?我懷疑我可能需要用反思來解決問題才能完成工作(我對此很感興趣),但我不清楚細節。

    5熱度

    1回答

    我試圖在超類中實現一個方法,該方法應該可以在子類中使用,但不可更改。試想一下: export abstract class BaseClass { universalBehavior(): void { doStuff(); // Do some universal stuff the same way in all sub classes specialized

    -2熱度

    2回答

    我試圖訪問一個密封類中的內部方法,但由於它是一個密封類,我無法繼承內部方法。我正在開發的解決方案的後端部分就是這樣設計的。 我發現了一個變通爲此,它使用類 public static class LocalizationsManagerExtension { public static string AddAppUserBasic(this LocalizationsManager o

    0熱度

    2回答

    考慮密封框架類「工作項目」(MSDN-description) 我想延長這種密封類,所以我可以寫類如擴展方法,我可以這樣寫: workitem.ReadWrite(); 這是可能實現的,如果是的話怎麼可能做到呢?