Свойство для возврата версии сборки классов-потомков - PullRequest
4 голосов
/ 16 октября 2010

В одном проекте C # есть базовый класс, подобный этому:

public abstract class AbstractVersionedBase
{
    public string Version { get { 
        return Assembly.GetExecutingAssembly().GetName().Version.ToString(); 
    }}
}

Этот проект имеет версию 0.0.1.1.

В другом проекте C # у меня есть класс, который наследуется отAbstractVersionedBase, как это:

public class Versioned : AbstractVersionedBase
{
}

Этот проект имеет версию 0.0.1.2.

Когда я вызываю свойство конкретного класса, он возвращает версию сборки, что абстрактный классопределяется в.

var versioned = new Versioned();
Console.WriteLine("Version" + versioned.Version);  
//writes 0.0.1.1, but I want 0.0.1.2

Я бы хотел, чтобы класс-потомок возвращал версию своей сборки, но не нужно переписывать код, чтобы сделать это в классе-потомке.У вас есть идеи?

Ответы [ 2 ]

3 голосов
/ 16 октября 2010

Вам нужно получить сборку, в которой динамический тип объявлен с GetType().Assembly:

public string Version
{
    get
    {
        return GetType().Assembly.GetName().Version.ToString(); 
    }
}
2 голосов
/ 16 октября 2010

Используйте this.GetType().Assembly вместо.

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