标题:这段代码编译时说接口不能包含字段 那接口该如何定义
只看楼主
狂牛
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-11-5
 问题点数:0 回复次数:2 
这段代码编译时说接口不能包含字段 那接口该如何定义
public class aaa
    {
        static void Main(string[] args)
        {
            IA ia = new A();
            A[0] = 1;
            Console.Read();
        }
    }
    public interface IA
    {
        private int[] value;
        string this[int index]
        {
            get
            {
                return values[index];
            }
            set
            {
                values[index] = value;
            }
        }
    }
    public class A : IA
    {
        private int[] values;
        string this[int index]
        {
            get
            {
                return values[index];
            }
            set
            {
                values[index] = value;
            }
        }
        public A()
        {
            valuses = new int[10];
        }
    }
}
搜索更多相关主题的帖子: 接口 如何 interface private public 
2011-11-05 11:33
qubo1982
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:367
专家分:1132
注 册:2009-3-18
得分:0 
程序代码:
interface IA
    {
        int this[int i] { get; set; }
    }

    class A : IA
    {
        private int[] value;
        #region IA 成员

        public int this[int i]
        {
            get
            {
                return value[i];
            }
            set
            {
                this.value[i] = value;//你的数组名value,用在这里很不好,和索引器的value同名,所以要用this.指定
            }
        }

        #endregion
    }
2011-11-05 13:59
qubo1982
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:367
专家分:1132
注 册:2009-3-18
得分:0 
IA ia = new A();
A[0] = 1;
Console.Read();

你这个也用得太奇葩了,IA ia = new A();private int[] value;A[0] ==  value[0],你那value是没赋值的,会错误的

2011-11-05 14:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354349-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048359 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved