当前位置: 代码迷 >> VB Dotnet >> 求好手帮忙把这几句从C#翻译成VB,自动的翻译器翻出来的过不了VS编译
  详细解决方案

求好手帮忙把这几句从C#翻译成VB,自动的翻译器翻出来的过不了VS编译

热度:67   发布时间:2016-04-25 02:15:12.0
求高手帮忙把这几句从C#翻译成VB,自动的翻译器翻出来的过不了VS编译
新手求高手来帮忙翻译这几句,实在搞不懂这里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
  相关解决方案