CA1410: COM 등록 메서드는 일치해야 합니다.
항목 | 값 |
---|---|
RuleId | CA1410 |
범주 | Microsoft.Interoperability |
주요 변경 내용 | 주요 변경 아님 |
원인
형식에서 System.Runtime.InteropServices.ComRegisterFunctionAttribute 특성으로 표시된 메서드를 선언하지만 System.Runtime.InteropServices.ComUnregisterFunctionAttribute 특성으로 표시된 메서드를 선언하지 않거나 그 반대의 경우입니다.
규칙 설명
COM(구성 요소 개체 모델) 클라이언트가 .NET 형식을 만들려면 먼저 형식을 등록해야 합니다. 사용할 수 있는 경우 ComRegisterFunctionAttribute 특성으로 표시된 메서드가 사용자 지정 코드를 실행하기 위해 등록 프로세스 중에 호출됩니다. ComUnregisterFunctionAttribute 특성으로 표시된 해당 메서드는 등록 메서드의 작업을 되돌리기 위해 등록 취소 프로세스 중에 호출됩니다.
위반 문제를 해결하는 방법
이 규칙의 위반 문제를 해결하려면 해당하는 등록 또는 등록 취소 메서드를 추가합니다.
경고를 표시하지 않는 경우
이 규칙에서는 경고를 표시해야 합니다.
예시
다음 예제에서는 규칙을 위반하는 형식을 보여 줍니다. 주석으로 처리된 코드는 위반 문제의 해결 방법을 보여 줍니다.
using System;
using System.Runtime.InteropServices;
[assembly: ComVisible(true)]
namespace InteroperabilityLibrary
{
public class ClassToRegister
{
}
public class ComRegistration
{
[ComRegisterFunction]
internal static void RegisterFunction(Type typeToRegister) {}
// [ComUnregisterFunction]
// internal static void UnregisterFunction(Type typeToRegister) {}
}
}
관련 규칙
CA1411: COM 등록 메서드는 노출되면 안 됩니다.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기