내가 누락 된 단순한 것이 있어야합니다. 두 개의 다른 클래스에서 두 개의 다른 어셈블리에 있고 다른 부분 클래스에서 한 부분 클래스의 개인 정적 메서드를 참조 할 수 없습니다. 그러나나머지 절반의 부분 클래스 중 절반에서 개인 정적 메서드에 액세스 할 수없는 이유는 무엇입니까?
namespace FirstHalf
{
public partial class TestPartialClass
{
public static void Main(string[] args)
{
Console.WriteLine(PrintFoo());
}
}
}
다음 들의 하반기 어셈블리에서, 나는 다음과 같은 클래스가, 그리고
namespace FirstHalf
{
public partial class TestPartialClass
{
private static void PrintFoo()
{
Console.WriteLine("Foo");
}
}
}
:
는 예를 들어, FirstHalf 어셈블리에서, 나는 다음과 같은 클래스가 , SecondHalf 어셈블리에서 PrintFoo()
을 호출하려고하면 다음 오류가 발생합니다.
CS0103: The name 'PrintFoo' does not exist in the current context.
여기에 무슨 일이 있습니까? SecondHalf에서 FirstHalf에 대한 참조가 있으므로 Visual Studio는이 둘 사이에 종속성이 있음을 알고 있습니다.
두 어셈블리간에 부분 클래스를 분할 할 수 없습니다. 그들은 실제로 두 개의 다른 클래스로 컴파일됩니다. –
@DanBryant 오, 알겠습니다. 그걸 올바른 것으로 표시 할 수 있도록 대답을해야합니다. – quanticle
당신이 물어 보는 것과 관련이 없지만'WriteLine'의 인자로'void' 타입의 표현식을 전달할 수는 없습니다. –