1

バージョン番号を与えるインターフェースメソッドを設定しようとしています:

var versionNumber = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

継承クラスがバージョン番号を取得できるように、これをインターフェイスに実装する方法がわかりませんか?

4

1 に答える 1

1
public interface IVersionProvider
{
      string GetVersion();
}

実装:

internal class /*or struct*/ VersionProvider : IVersionProvider
{
      public string GetVersion()
      {
           System.Reflection.Assembly.GetExecutingAssembly()
                   .GetName().Version.ToString();
      }
}

クラスを内部で作成しました。外部で作成できる必要がないためです。

public class Factory
{
      IVersionProvider GetVersionProvider() { return new VersionProvider(); }
}

インターフェイスはパブリックであるため、実装がアセンブリに対してプライベートであっても、外部ユーザーはそのインターフェイスで「GetVersion」を呼び出すことができます。

于 2012-07-12T20:36:09.670 に答える