Dreamine.PLC.Omron.CxComponent 1.0.1
Dreamine.PLC.Omron.CxComponent 산업 자동화 및 I/O 기능을 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.PLC.Omron.CxComponent.Internal.DefaultComObjectFactory 클래스 참조sealed

더 자세히 ...

Dreamine.PLC.Omron.CxComponent.Internal.DefaultComObjectFactory에 대한 상속 다이어그램 :
Dreamine.PLC.Omron.CxComponent.Internal.DefaultComObjectFactory에 대한 협력 다이어그램:

Public 멤버 함수

object Create (string progId)

정적 Private 멤버 함수

static InvalidOperationException CreateFriendlyException (string progId, Exception? innerException=null)

상세한 설명

설치된 COM 개체를 ProgID로 생성합니다.

DefaultComObjectFactory.cs 파일의 11 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ Create()

object Dreamine.PLC.Omron.CxComponent.Internal.DefaultComObjectFactory.Create ( string progId)
inline

지정한 ProgID에서 CX-Compolet COM 개체를 생성합니다.

매개변수
progId생성할 COM 클래스의 ProgID입니다.
반환값
생성된 후기 바인딩 COM 개체입니다.
예외
PlatformNotSupportedExceptionWindows가 아닌 플랫폼에서 호출할 때 발생합니다.
ArgumentExceptionprogId 가 비어 있거나 공백일 때 발생합니다.
InvalidOperationExceptionCOM 클래스가 등록되지 않았거나 개체를 생성할 수 없을 때 발생합니다.

Dreamine.PLC.Omron.CxComponent.Internal.IComObjectFactory를 구현.

DefaultComObjectFactory.cs 파일의 61 번째 라인에서 정의되었습니다.

62 {
63 if (!OperatingSystem.IsWindows())
64 {
65 throw new PlatformNotSupportedException("CX-Compolet controls are supported on Windows only.");
66 }
67
68 if (string.IsNullOrWhiteSpace(progId))
69 {
70 throw new ArgumentException("COM ProgID must not be empty.", nameof(progId));
71 }
72
73 Type? type;
74 try
75 {
76 type = Type.GetTypeFromProgID(progId, throwOnError: false);
77 }
78 catch (Exception ex)
79 {
80 throw CreateFriendlyException(progId, ex);
81 }
82
83 if (type is null)
84 {
85 throw CreateFriendlyException(progId);
86 }
87
88 try
89 {
90 return Activator.CreateInstance(type)
91 ?? throw new InvalidOperationException($"Failed to create CX-Compolet COM object: {progId}");
92 }
93 catch (Exception ex)
94 {
95 throw CreateFriendlyException(progId, ex);
96 }
97 }

다음을 참조함 : CreateFriendlyException().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ CreateFriendlyException()

InvalidOperationException Dreamine.PLC.Omron.CxComponent.Internal.DefaultComObjectFactory.CreateFriendlyException ( string progId,
Exception? innerException = null )
inlinestaticprivate

COM 등록 또는 생성 실패를 프로세스 비트 수 안내가 포함된 예외로 변환합니다.

매개변수
progId생성에 실패한 COM ProgID입니다.
innerException원래 발생한 예외이며 없으면 null입니다.
반환값
진단 안내와 원본 예외를 포함한 예외입니다.

DefaultComObjectFactory.cs 파일의 131 번째 라인에서 정의되었습니다.

132 {
133 var bitness = Environment.Is64BitProcess ? "x64" : "x86";
134 return new InvalidOperationException(
135 $"CX-Compolet COM '{progId}' is not registered for the current {bitness} process. " +
136 "Install/register Omron CX-Compolet for the same bitness, or run SampleSmart as x86 when only the 32-bit runtime is installed.",
137 innerException);
138 }

다음에 의해서 참조됨 : Create().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: