On Friday, 20 January 2023 at 11:28:23 UTC, thebluepandabear wrote:
Hi,

In Java/C# you can create purely static classes.

These are classes whose methods are all static, the classes cannot be derived from or instantiated:

```
static class Algo {
    void drawLine(Canvas c, Pos from, Pos to) { ...... };
}
```



There are 2 solutions for that. One involved doing a private implementation:

```d
module drawer.impl;
void drawLine(...)
```

Then, you create another file:

```d
module drawer;
public import Algo = drawer.impl;
```
After that, you can use it as `Algo.drawLine`.


With a single file, you can do:
```d

final class Algo
{
    @disable this();
    static:
    void drawLine(...){}
}
```

Reply via email to