첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
using System;
using System.Reflection;

#region 인스턴스 생성하기 - CreateInstance(typeName, parameterArray)

/// <summary>
/// 인스턴스 생성하기
/// </summary>
/// <param name="typeName">타입명</param>
/// <param name="parameterArray">매개 변수 배열</param>
/// <returns>인스턴스</returns>
public object CreateInstance(string typeName, params object[] parameterArray)
{
    Type   type     = null;
    object instance = null;

    try
    {
        type = GetType(typeName);

        if(type == null)
        {
            return null;
        }

        instance = Activator.CreateInstance(type, parameterArray);
    }
    catch
    {
        return null;
    }

    return instance;
}

#endregion
#region 타입 구하기 - GetType(typeName)

/// <summary>
/// 타입 구하기
/// </summary>
/// <param name="typeName">타입명</param>
/// <returns>타입</returns>
private Type GetType(string typeName)
{
    Type type = Type.GetType(typeName, false);

    if(type != null)
    {
        return type;
    }

    Assembly[] assemblyArray = AppDomain.CurrentDomain.GetAssemblies();

    foreach(Assembly assembly in assemblyArray)
    {
        type = assembly.GetType(typeName, false);

        if(type != null)
        {
            break;
        }
    }

    return type;
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요