新手求高手来帮忙翻译这几句,实在搞不懂这里IEnumerable的用法,IEnumerable不是接口吗?接口不是放在:后的吗?为啥直接放在Public后面了?放在Public和后面的不都是IEnumerator么?这里如果能顺带解释一下就更感激了。

public IEnumerable SeriesSource
{
get { return (IEnumerable)GetValue(SeriesSourceProperty); }
set { SetValue(SeriesSourceProperty, value); }
}
public static readonly DependencyProperty SeriesSourceProperty = DependencyProperty.Register("SeriesSource", typeof(IEnumerable), typeof(MultiChart), new PropertyMetadata(default(IEnumerable), new PropertyChangedCallback(OnSeriesSourceChanged)));
private static void OnSeriesSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
IEnumerable oldValue = (IEnumerable)e.OldValue;
IEnumerable newValue = (IEnumerable)e.NewValue;
MultiChart source = (MultiChart)d;
source.OnSeriesSourceChanged(oldValue, newValue);
}
用网上的自动翻译器翻出来就是这样的,可是VS报错,说IEnumerable参数不够。
Public Property SeriesSource() As IEnumerable
Get
Return DirectCast(GetValue(SeriesSourceProperty), IEnumerable)
End Get
Set
SetValue(SeriesSourceProperty, value)
End Set
End Property
Public Shared ReadOnly SeriesSourceProperty As DependencyProperty = DependencyProperty.Register("SeriesSource", GetType(IEnumerable), GetType(MultiChart), New PropertyMetadata(Nothing, New PropertyChangedCallback(AddressOf OnSeriesSourceChanged)))
Private Shared Sub OnSeriesSourceChanged(d As DependencyObject, e As DependencyPropertyChangedEventArgs)
Dim oldValue As IEnumerable = DirectCast(e.OldValue, IEnumerable)
Dim newValue As IEnumerable = DirectCast(e.NewValue, IEnumerable)
Dim source As MultiChart = DirectCast(d, MultiChart)
source.OnSeriesSourceChanged(oldValue, newValue)
End Sub
------解决方案--------------------
在文件开头或者工程设置里添加Import:
Import System.Collections