请问这段代码哪里错了

weikeli19 2016-04-01 11:55:57
请问这段代码哪里错了,你们可以上机试一下 怎么改 编译器报错:错误 1 可访问性不一致: 参数类型“delete2.liwei”比方法“delete2.liweike.lwk(delete2.liwei)”的可访问性低

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace delete2
{
class Program
{
static void Main(string[] args)
{
liweike a = new liwei();
liwei b = new liwei();
b.lwk((liwei)a);

((liwei)a).lwk((liwei)a);
a.A();
a.lwk(b);

}
}
public interface liweike
{
void A(); void lwk(liwei a);
}
class liwei : liweike
{
public void A()
{ Console.WriteLine("啦啦啦"); }
public void lwk(liwei a)
{
a.A();
}
}
}

...全文
136 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weikeli19 2016-04-01
  • 打赏
  • 举报
回复
引用 2 楼 xiaoguidangjiajia 的回复:
class liwei 没有修饰符,默认为private public interface liweike 为public 在liweike 定义私有属性的liwei 就会出现你所出现的问题。 把liwei 改为共有的就可以了: public class liwei
太谢谢了 不过我也更正你一下 默认的类应该是internal
小鬼当家家 2016-04-01
  • 打赏
  • 举报
回复
class liwei 没有修饰符,默认为private public interface liweike 为public 在liweike 定义私有属性的liwei 就会出现你所出现的问题。 把liwei 改为共有的就可以了: public class liwei
江南小鱼 2016-04-01
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace delete2
{
    class Program
    {
        static void Main(string[] args)
        {
            liweike a = new liwei();
            liwei b = new liwei();
            b.lwk((liwei)a);
            
            ((liwei)a).lwk((liwei)a);
            a.A(); 
            a.lwk(b);
            
        }
    }
    public interface liweike
    {
        void A(); 
        void lwk(liwei a);
    }
    public class liwei : liweike
    {
        public void A()
        { Console.WriteLine("啦啦啦"); }

        public void lwk(liwei a) 
        {
            a.A();
        }
    }
}

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧