日期:2014-05-17  浏览次数:21048 次

为什么呢?
[color=#FF0000][/color]我想用internal 进行 同个项目下 两个cs文件的访问
第一个文件是MyInter.cs
第二个文件是Mainclass.cs
都在同一个文件夹中

代码如下
MyInter.cs
using System;
internal class Baseclass
{
static int i = 1;
static double d = 5.5;
static string s = "hello world";

internal static void F(){
Console.WriteLine("in Baseclass");
}

internal static void print(){
Console.WriteLine("i:{0}",i);
Console.WriteLine("d:{0}",d);
Console.WriteLine("s:{0}",s);
}

}

public class Student
{
string id = "1";
string name = "Lily";
internal string Id{
get
{
return id;
}
  }

internal string Name{
get{
return name;
}

}
}


之后我在cmd里面编译成dll文件

Mainclass.cs

using System;
public class Mainclass
{
public static void Main(){
Baseclass.F();
Baseclass.print();
Student student = new Student();
Console.WriteLine(student.Id,student.Name);
}
}


之后我将他们绑定
csc /reference:MyInter.dll Mainclass.cs


就提示这些信息
Mainclass.cs(5,3): error CS0122: “Baseclass”不可访问,因为它受保护
Mainclass.cs(5,13): error CS0117: “Baseclass”并不包含“F”的定义
Mainclass.cs(6,13): error CS0117: “Baseclass”并不包含“print”的定
Mainclass.cs(8,29): error CS0117: “Student”并不包含“Id”的定义
Mainclass.cs(8,40): error CS0117: “Student”并不包含“Name”的定义



我觉得好奇怪啊~~~~~ internal 在同个项目下不是可以的?~ 为什么呢?~ 请问大侠~~~~~


------解决方案--------------------
探讨
C#里面说的同一个项目是不是就是在同一个文件夹下呢?
改成public 那样肯定行的~~~
问题是我想要internal
如果按照上面的代码 要怎么办才可以呢?