DataDefaultObjectAttribute 클래스
DDEX 지원 엔터티 공급자 구현을 제공 하지 않는 경우 반환 해야 하는 기본 구현을 지정 합니다.
상속 계층 구조
Object
Attribute
Microsoft.VisualStudio.Data.Core.DataDefaultObjectAttribute
네임스페이스: Microsoft.VisualStudio.Data.Core
어셈블리: Microsoft.VisualStudio.Data.Core(Microsoft.VisualStudio.Data.Core.dll)
구문
‘선언
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Interface)> _
Public NotInheritable Class DataDefaultObjectAttribute _
Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface)]
public sealed class DataDefaultObjectAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Interface)]
public ref class DataDefaultObjectAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface)>]
type DataDefaultObjectAttribute =
class
inherit Attribute
end
public final class DataDefaultObjectAttribute extends Attribute
DataDefaultObjectAttribute 형식에서는 다음과 같은 멤버를 노출합니다.
생성자
이름 | 설명 | |
---|---|---|
DataDefaultObjectAttribute | 새 인스턴스를 초기화는 DataDefaultObjectAttribute 클래스에 지정 된 클래스 ID를 사용 하 여 |
위쪽
속성
이름 | 설명 | |
---|---|---|
ClassId | 기본 개체 클래스 형식을 식별 하는 클래스 ID를 가져옵니다. | |
TypeId | 파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다. (Attribute에서 상속됨) |
위쪽
메서드
이름 | 설명 | |
---|---|---|
Equals | 인프라입니다. 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Attribute에서 상속됨) | |
GetHashCode | 이 인스턴스의 해시 코드를 반환합니다. (Attribute에서 상속됨) | |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) | |
IsDefaultAttribute | 파생 클래스에서 재정의된 경우 이 인스턴스의 값이 파생 클래스의 기본값인지 여부를 나타냅니다. (Attribute에서 상속됨) | |
Match | 파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Attribute에서 상속됨) | |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
위쪽
명시적 인터페이스 구현
이름 | 설명 | |
---|---|---|
System#Runtime#InteropServices#_Attribute#GetIDsOfNames | 이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다. (Attribute에서 상속됨) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfo | 인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다. (Attribute에서 상속됨) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfoCount | 개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1). (Attribute에서 상속됨) | |
System#Runtime#InteropServices#_Attribute#Invoke | 개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다. (Attribute에서 상속됨) |
위쪽
설명
DDEX 클라이언트 DDEX 런타임 호출의 인스턴스를 만들 때 DDEX는 특정 공급자에 대 한 엔터티를 지원, 엔터티를 지 원하는 경우 인스턴스 작성 및 반환 되는 여부를 확인 하 고 공급자를 쿼리 합니다. 엔터티 공급자를 지원 하지 않는 경우 기본적으로 호출에서 예외를 throw 하거나 반환 nullNull 참조(Visual Basic의 경우 Nothing)코드 경로에 따라. 그러나 경우에 따라서는 DDEX 지원 엔터티의 소유자 DDEX 공급자를 따라서 오류 조건을 방지 자체 구현을 제공 하지 않는 경우 클라이언트에 제공 하 여 적절 한 기본 구현을 해야 합니다.
적용에서 한 예로 들 수 있는 IVsDataConnectionUIConnector 엔터티를 지원 합니다. 이 지원 엔터티 데이터 연결에서 데이터 연결 대화 상자와 같은 UI 컨텍스트를 열 수 호출 되는 단일 메서드를 포함 합니다. 데이터 대상 연결이 있는지 확인 하 고 새 데이터를 생성 하는 메시지를 찾을 수 없는 경우 저장 등의 일반적인 사용이 지원 엔터티 추가 동작을 추가 하려면입니다. 그러나 적당 한 기본값이 정상적으로 연결 하 고 아무것도 특별 하지 단순히입니다. 이 기본 구현 된 경우 더 이상 공급자 하지 또는 지원 엔터티를 구현 하지 않는 경우 별도로 처리 해야 하기 때문에 클라이언트 코드를 간소화할 수 없으며 대체를 기본으로 구현 해야 하지.
적절 한 기본 구현을 포함 DDEX 지원 엔터티 지원 엔터티를 나타내는 형식에이 특성을 포함 해야 합니다. 특성 값을 포함 합니다의 ClassId 속성 및 값에 유효한 Visual Studio 환경에서 등록 하는 클래스 ID를 나타내는 GUID가 있어야 합니다. 마지막으로 구현 하는 관리 되는 클래스는 클래스의 클래스 ID에 의해 식별 있어야는 IVsDataDefaultObject 인터페이스. 클라이언트 id가 지정 된 클래스의 인스턴스를 만드는 요청 하면 공급자 구현이 가능 하면 DDEX 런타임에서이 인스턴스를 만듭니다. 기본 구현은 다음 클라이언트로 전달 됩니다.
DataDefaultObjectAttribute 특성인 주로 관심을 플랫폼 extender DDEX, 즉, 이러한 서비스 및 지원을 추가 DDEX 엔터티 만들기.
예제
다음 코드 정의를 표시는 IVsDataConnectionUIConnector 기본 개체 특성을 선언 하는 엔터티를 지원 합니다. 정의이 기본 개체의 구현에서 나옵니다.
using System;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Data.Services;
[DataDefaultObject("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
public interface IVsDataConnectionUIConnector
{
void Connect(IVsDataConnection connection);
}
[Guid("C58E1B8D-9723-40c8-8B11-9DDAF0B393BA")]
internal class DefaultConnectionUIConnector
: IVsDataConnectionUIConnector,
IVsDataDefaultObject
{
public void Connect(IVsDataConnection connection)
{
if (connection == null)
{
throw new ArgumentNullException("connection");
}
connection.Open();
}
}
스레드로부터의 안전성
이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.