如何在此场景中使用界面

时间:2012-07-12 20:26:29

标签: interface c#-3.0

我正在尝试设置将提供版本号的接口方法:

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

我不确定如何在接口中实现它,以便继承类可以获取版本号?

1 个答案:

答案 0 :(得分: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',即使该实现是程序集的私有。