注册 登录
编程论坛 C# 论坛

刚学C#,在编写如下程序的时候发生错误:“ConsoleApplication5.ImyInterface.ShowInfo()”: 接口成员不能有定义,渴望各

编程进阶者 发布于 2013-11-05 21:39, 576 次点击
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{
    interface ImyInterface
    {
        string ID
        {
            get;
            set;
        }
        string Name
        {
            get;
            set;
        }
        void ShowInfo()
        {
            Console.WriteLine("编号\t 姓名");
            Console.WriteLine(ID + "\t" + Name);
        }
    }
    class Program:ImyInterface
    {
        string id = "";
        string name = "";
        public string ID
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }
        public string Name
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }
        public void ShowInfo()
        {
            Console.WriteLine("编号\t 姓名");
            Console.WriteLine(ID + "\t" + Name);
        }
        static void Main(string[] args)
        {
            Program program = new Program();
            ImyInterface imyinterface = program;
            imyinterface.ID = "TM";
            imyinterface.Name = "Fuck!";
            imyinterface.ShowInfo();
        }
    }
}
4 回复
#2
编程进阶者2013-11-05 22:00
啊,琢磨出来了,不过还是谢谢大家哈
#3
taojin_hust2013-11-05 23:44
程序代码:
public string Name
         {
             get
             {
                 return id;
             }
             set
             {
                 id = value;
             }
         }
不应该是return name;和name=value吗?
#4
qw11617485792013-11-06 09:23
接口定义中不能有方法的实现
#5
阿辉1232023-03-10 11:43
这个原始的应该是参考书上的代码,写的有些问题,接口里应该只有声明,不能有实现,改过之后的代码如下:

    interface ImyInterface
    {
        string ID
        {
            get;
            set;
        }

        string Name
        {
            get;
            set;
        }

        void ShowInfo();// 错误提示 是因为这个位置 写错了
    }
    class Program:ImyInterface
    {
        string id = "";
        string name = "";
        public string ID
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }

        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }
        public void ShowInfo()
        {
            Console.WriteLine("编号\t 姓名");
            Console.WriteLine(ID + "\t" + Name);
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            Program program = new Program();
            ImyInterface imyinterface = program;
            imyinterface.ID = "TM";
            imyinterface.Name = "小明同学";
            imyinterface.ShowInfo();
        }
    }

运行后的结果:
编号     姓名
TM      小明同学

1