添加属性到接口

MrW*_*ppy 1 .net c# interface extend

我有一个接口(来自另一个我无法直接修改的框架),如下所示:

public interface IUserDemo
{
string UserName { get; }
}
Run Code Online (Sandbox Code Playgroud)

我想'扩展'这个界面,所以它看起来如下:

public interface IUserDemo
{
string UserName { get; }
string Password { get; }
}
Run Code Online (Sandbox Code Playgroud)

希望解决方案允许我执行以下操作:

  UserDemo demouser = new UserDemo();
  return new UserDemo
   {            
      UserName = userName,
      Password = password
   };
Run Code Online (Sandbox Code Playgroud)

UserDemo的外观如下:

public class UserDemo : IUserDemo
{
    public string UserName { get; set; }
    public string Password { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果有人能够朝着正确的方向推动我,这将是伟大的!

Nev*_*ver 5

您可以扩展IUserDemo如下

public interface IMyUserDemo : IUserDemo
{
    string Password { get; }
}
Run Code Online (Sandbox Code Playgroud)

实现扩展接口 IMyUserDemo

public class UserDemo : IMyUserDemo
{
    public string UserName { get; set; }
    public string Password { get; set; }
}
Run Code Online (Sandbox Code Playgroud)