属性get
访问器返回的类型可能与set
访问器使用的类型不同?属性设置器类型的其他值设置为属性?
private string[] artists;
public string[] Artists
{
get { return artists[0]; } //heree getter return string than string[]
set { artists = value; OnPropertyChanged("Artist"); }
}
属性get
访问器返回的类型可能与set
访问器使用的类型不同?属性设置器类型的其他值设置为属性?
private string[] artists;
public string[] Artists
{
get { return artists[0]; } //heree getter return string than string[]
set { artists = value; OnPropertyChanged("Artist"); }
}
不,这是行不通的。
你可以添加另一个属性,它包括在ONPC:
public string Artist
{
get { return artists[0]; }
}
public string[] Artists
{
// get { return artists; } // get string[] is optional
set { artists = value; OnPropertyChanged("Artist"); OnPropertyChanged("Artists");}
}
提供一些背景用途的样本,你可能会得到更好的答案。
你的代码可以达到setter设置的值。 OP代码没有。 Itøs很难判断这是否意图的一部分,因为意图没有记录。在我看来,离开艺术家的距离会更接近OPs代码。 (也可能认为OP可能不知道你可以拥有一个只写属性,如果我的猜测是关闭的,这可能是重要的或不重要的:)) –
@Rune:可能的,很难描绘这里的用法。这就是为什么我要求一些背景。 –
我完全同意。我主要在高亮度下写下这样的评论:发射吸气剂是可能的(虽然通常很奇怪) –
不,这是不可能的。您必须创建另一个属性才能返回其他类型。
为什么要这样做。如果你声明了返回类型,那么这个HAS将被返回。
不,不可能。它清楚地看到你的代码是非法的,因为你的get访问不履行它的义务返回string[]
// you define the Artists property as a string[],
// therefore the get accessor must return a string[]
public string[] Artists
{
// you are returning only a string
get { return artists[0]; }
注意'OnPropertyChanged(“艺术家”)'不匹配在这里,他的属性名称。 –