0

除非有必要,否则我不想编写相同的代码。

应该有一个基类(我想接口不适合)

public class MyUser
{
    public string Username
    {
        get;
        set;
    }
    //...many other fields
}

在其中一个派生类中,需要 PRIVATE 集修饰符(又名仅用于此类的方法)。

public class MyPrivateInfo : MyUser//, IMyUser
{
    public string Username
    {
        get;
        private set;
    }
}

在另一个类中,需要 INTERNAL 修饰符(又名库范围)。

public class MyLibInfo : MyUser//, IMyUser
{
    public string Username
    {
        get;
        internal set;
    }
    //...many other fields
}

我想有办法创建一个 MyUser 类型的字段,但这不是目的。每个类中的字段都应该可以直接访问。

实现这一目标的最佳方法是什么,或者没有?

4

1 回答 1

2

首先,您可以为此使用接口。您只需要不指定set方法。

这将允许您为所需的 a 定义任何可访问性set

public interface IUser
{
    string Username { get; }
}

public class MyPrivateInfo : IUser
{
    public string Username
    {
        get;
        private set;
    }
}

public class MyLibInfo : IUser
{
    public string Username
    {
        get;
        internal set;
    }
}
于 2012-11-15T12:11:09.550 回答