gpt4 book ai didi

c# - 内部和外部接口(interface)和集合

转载 作者:行者123 更新时间:2023-11-30 15:50:20 24 4
gpt4 key购买 nike

实现以下内容的最佳方式是什么?

我有一个实现接口(interface)的对象集合,在内部我希望能够公开 set 和获取属性,而在外部只获取。

这是我想要的那种东西的例子......那不编译。

public interface ITable
{
string Name { get; }
}

internal interface IInternalTable
{
string Name { get; set; }
}

internal class Table : ITable, IInternalTable
{
public string Name { get; set; }
public string ITable.Name { get { return Name; } }
}

public class Database
{
private List<IInternalTable> tables;

public List<ITable>
{
get { return this.tables; }
}
}

最佳答案

使用这个:

public interface ITable
{
string Name { get; }
}

public class Table : ITable
{
public string Name { get; internal set; }
}

public class Database
{
public List<ITable> Tables { get; private set; }
}

注意:在 get 或 set 访问器上使用的可访问性修饰符只能限制可见性而不能增加可见性。

关于c# - 内部和外部接口(interface)和集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/720580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com