internal class는 어셈블리 내에서만 사용할 수 있고, 외부 어셈블리에서는 사용할 수 없다. 만약 외부 어셈블리에서 internal class를 사용하고 싶다면, InternalsVisibleTo어트리뷰트를 사용하면 된다. InternalsVisibleTo어트리뷰트에 internal class를 사용할 어셈블리를 지정하면, 해당 어셈블리에서는 internal class를 사용할 수 있다.

사용 방법

  • internal class를 정의
namespace InternalAssembly
{
    internal class InternalClass
    {
    }
}


  • AssemblyInfo.cs파일에 internal class를 사용할 외부 어셈블리를 지정
[assembly: InternalsVisibleTo("ExternalAssembly")]


  • 지정된 외부 어셈블리에서 internal class를 사용
using InternalAssembly;

namespace ExternalAssembly
{
    class Program
    {
        static void Main(string[] args)
        {
            var internalObject = new InternalClass();
        }
    }
}

카테고리:

업데이트:

댓글남기기