标签: sealed

抽象密封的类

关于c ++/cli的一个小问题.抽象类具有由派生类实现的抽象方法,密封类不允许继承.

那么为什么我们将.NET基类库中的一些类定义为抽象密封,你可以找到很多.. ??!

.net abstract-class c++-cli sealed

5
推荐指数
1
解决办法
4422
查看次数

5
推荐指数
1
解决办法
357
查看次数

静态类以什么方式隐式抽象?

Jon Skeet在他的深度C#中讲述了一个静态类:

它不能被声明为抽象或密封,尽管它两者都是隐含的.

抽象类是指派生类型的基类.我们只能通过实例化一个派生类型来实例化一个抽象类.另一方面,我们不能从密封的类中获得任何东西.在许多意义上,一个密封的,抽象的课程将毫无用处.Skeet的意思是静态类既抽象又密封?他只是在谈论无法直接实例化它吗?

c# static abstract sealed

5
推荐指数
2
解决办法
435
查看次数

Scala json4s密封了特征作为枚举

我们的状态定义为:

sealed trait Status
case object Status {
  case object StatusA extends Status
  case object StatusB extends Status
  case object StatusC extends Status
}
Run Code Online (Sandbox Code Playgroud)

我们的状态如下:

val status = Status.StatusA
Run Code Online (Sandbox Code Playgroud)

有没有办法(de)使用预定义的json4sfomratters 序列化这种结构?

我们尝试使用defult formatter:

implicit val formats = new org.json4s.DefaultFormats
Run Code Online (Sandbox Code Playgroud)

它不起作用.接下来我们尝试使用extjson4sEnum支持提供的:

implicit val formats = org.json4s.DefaultFormats + new org.json4s.ext.EnumSerializer(Status)
Run Code Online (Sandbox Code Playgroud)

它不再起作用了.我们必须完全改变sealed trait实际Enumeration的结构.有没有办法用case classes 做?

enums scala traits sealed json4s

5
推荐指数
1
解决办法
1052
查看次数

c ++密封和接口

我注意到C++中有密封和接口关键字.这仅适用于CLR C++吗?如果没有,什么时候密封和接口添加到C++标准?它们在C++中的含义与它们在C#中的含义相同吗?如果没有,我如何获得标准C++中的等价物?

c++-cli sealed

4
推荐指数
2
解决办法
4084
查看次数

更改密封类的"ToString"

我有一个我正在上课的课程:

public sealed class WorkItemType
Run Code Online (Sandbox Code Playgroud)

ToString很弱(只是显示Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemType).

有没有办法覆盖这个来显示名称WorkItemType

通常我只会在新类中聚合该值,但我在WPF中使用它来进行绑定(我希望在组合框中有一个WorkItemTypes列表,并将所选值分配给绑定WorkItemType变量.)

我想我在这里运气不好,但我想我会问.

c# tostring sealed

4
推荐指数
2
解决办法
1022
查看次数

为什么PasswordBox在Silverlight中被封装?

一个简单的问题,但谷歌没有答案!
我今天正在打墙,因为Silverlight中PasswordBox是密封的.我不知道他们为什么那样做.有人对此有所了解吗?

.net c# passwords silverlight sealed

4
推荐指数
2
解决办法
499
查看次数

在Swift中实现密封类的效果

我试图在 Swift 中实现 Kotlin 密封类的效果,以便我可以实现基于类的替代方法来替代具有关联类型的枚举。

以下结果会导致编译器错误:

final class Foo {
    class Bar: Foo {}  // Error: inheritance from a final class "Foo"
}
Run Code Online (Sandbox Code Playgroud)

有没有办法有效地“密封”一个 Swift 类,使其免受进一步的子类化,但仍然首先允许子类化?

final sealed associated-types swift

4
推荐指数
1
解决办法
3919
查看次数

C# - 当引用类常量时,为什么执行会流向实例变量?

在下面的代码段中,我FILE_LOCATION从该类外部引用,并且在执行后流入此类以访问该常量,由于某种原因而不是继续返回到进行常量调用的位置,执行继续实例化单例.

我的问题是两部分; 为什么会发生这种情况,我该如何解决呢?我试图创建两个部分类,一个仅用于常量,另一个用于其他所有,但执行仍然继续到另一个部分类来实例化单例.

public sealed class Foo
{  
    public static readonly string FILE_LOCATION = @"path\to\file";

    // (singleton code modeled after:
    // http://csharpindepth.com/articles/general/singleton.aspx --fourth     version)
    private static readonly Foo foo = new Foo();

    // Rest of class implementation...
 }
Run Code Online (Sandbox Code Playgroud)

该属性是在按钮单击时从表单类的实例引用的:

public partial class MyForm : Form
{
    public void button1_Click(object sender, EventArgs e)
    {
        string s = Foo.FILE_LOCATION;
        // this location is only reached AFTER the singleton is instantiated.
    }
}
Run Code Online (Sandbox Code Playgroud)

c# singleton constants sealed partial

3
推荐指数
1
解决办法
92
查看次数

如何将虚拟财产添加到密封类

我用 c# 编写了一个继承 TextBox 的类,现在我想为其添加一个虚拟属性:

    public virtual Color WatermarkColor
    {
        private get { return _watermarkColor; }
        set
        {
            _watermarkColor = value;
            OnEnter(null);
            OnLeave(null);
        }
    }
Run Code Online (Sandbox Code Playgroud)

但发生了这个错误:

错误 1 ​​'xXx.TextBoxPlus.WaterMark.get' 是密封类 'xXx.TextBoxPlus' 中的新虚拟成员

c# virtual inheritance properties sealed

3
推荐指数
1
解决办法
2856
查看次数