Как создать конструктор для унаследованного класса, где родительский класс имеет только статический конструктор - PullRequest
0 голосов
/ 11 ноября 2018

Например, допустим, я хотел создать класс, который наследует System.Diagnostics.StopWatch, и для этого примера представьте, что System.Diagnostics.Stopwatch.StartNew () - единственный открытый конструктор для этого класса (я знаю, что нет, но я пытаюсь унаследовать другой класс, где это так):

public class Example : System.Diagnostics.Stopwatch
{
    public Example()
    {
        // ... return System.Diagnostics.Stopwatch.StartNew();
    }
}

Я знаю, что есть очевидные обходные пути, но просто интересно, возможно ли это в C #

1 Ответ

0 голосов
/ 11 ноября 2018

В основном есть три сценария, где вы не можете наследовать от класса:

  1. Предполагаемый родительский класс объявлен как закрытый, что запрещает наследование от него.
  2. Предполагаемый родительский класс не имеет доступного конструктора.
  3. Предполагаемый родительский класс является статическим классом.

Если вы находитесь в одном из этих 3 сценариев, вы не сможете унаследовать от этого класса, просто и ясно, не ищите подходящее решение, потому что его нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...