gpt4 book ai didi

C#:不一致的可访问性:属性类型

转载 作者:IT王子 更新时间:2023-10-29 04:07:27 24 4
gpt4 key购买 nike

有什么问题

public partial class MainWindow : Window
{
public ObservableCollection<TabViewModel> Tabs { get; set; }
public ICollectionView TabsViewSource { get; set; }
public int CurrentIndex { get { return TabsViewSource.CurrentPosition; } }

我明白了

Inconsistent accessibility: property type 'System.Collections.ObjectModel.ObservableCollection' is less accessible than property 'TabsRendering.MainWindow.Tabs'

当我将代码更改为

public partial class MainWindow : Window
{
ObservableCollection<TabViewModel> Tabs { get; set; }
public ICollectionView TabsViewSource { get; set; }
public int CurrentIndex { get { return TabsViewSource.CurrentPosition; } }

它有效。 ObservableCollection

上的 public 出了什么问题

最佳答案

也将TabViewModel设为公共(public)类型。

显然,public 包含类型的 public 属性属于非公共(public)类型是没有意义的。该属性如何向外部程序集展示自己?

您的第二个示例之所以有效,是因为作为一般规则,不提供可访问性修饰符意味着选择最不适用修饰符作为默认值 - 在本例中为:private。显然,声明内部 (?) 类型的私有(private)属性不存在一致性问题。

关于C#:不一致的可访问性:属性类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992928/

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