[c#] 다른 네임 스페이스의 부분 클래스



Answers

부분 클래스는 동일한 네임 스페이스와 동일한 어셈블리에서만 가능합니다.

네임 스페이스는 두 개의 다른 어셈블리에있을 수 있지만 부분 클래스는 가질 수 없습니다.

Question

다른 네임 스페이스에 부분 클래스를 만들 수 있습니까? 올바른 것인가? 전의:

class1.cs

namespace name1
{
    public partial class Foo
    {
        Bar1(){
            return 10;
        }
    }
}

class2.cs

namespace name1.name2
{
    public partial class Foo
    {
        Bar2(){
            return 100;
        }
    }
}

main.cs

using name1;
using name1.name2;

namespace mainClass
{
    public class mainClass
    {
        Foo classFoo = new Foo();
        int Count = classFoo.Bar1() + classFoo.Bar2();
        // Will Count = 110?
    }
}

작동 시키려면 어떻게해야합니까? (내 예제가 정확하지 않은 경우)




이것은 작동하지 않습니다. 컴파일러는 Foo classFoo = new Foo(); 에 모호한 이름 오류를 줄 것입니다. Foo classFoo = new Foo(); 선. 부분 클래스가 작동하려면 네임 스페이스가 실제로 유형의 정규화 된 이름의 일부이기 때문에 동일한 네임 스페이스에 있어야합니다.







Links