다음 예제를 고려하십시오.
using A;
static void Main(string[] args)
{
Customer c = new Customer();
}
//AssemblyA.dll
namespace A { public class Customer { } }
//AssemblyB.dll
namespace A { public class Customer { } }
이 경우 코드 샘플에 필요한 어셈블리를 알 수있는 방법이 없습니다. 이상적으로는 어셈블리 목록을 코드 파일과 함께 사용하는 것이 좋으므로 형식을 찾을 위치를 항상 알고 있어야합니다.
이 문제의 오류가 발생하기 쉬운 솔루션은 네임 스페이스/형식 조합과 일치하는 첫 번째 어셈블리를 가져 와서 코드 파일의 모든 클래스를 찾는 것일 수 있습니다.
using A;
using B;
static void Main(string[] args)
{
Customer c = new Customer();
}
//AssemblyA.dll
namespace A { public class Customer { } }
//AssemblyB.dll
namespace B { public class Customer { } }
내가 같은 코드 파일을 구문 분석 할 때 참조하는 어셈블리의 목록을 포함 항상 것입니다 : 당신이 바로 그 일이있는 경우 그러나이 경우에도 당신은 확신 할 수 없다.
출처
2012-06-04 15:12:16
Bas
어떤 목적으로? – jrummell
'using' 지시어를 읽어서는 안될까요? –
@nadirs : 아니요. .NET 네임 스페이스는 어셈블리와 많은 관계가 있습니다. 예를 들어'using System.Collections.Generic;'을 보면 어떤 어셈블리 (DLL)가 필요합니까?정보가 충분하지 않습니다. –