CodeAttribute2 인터페이스
코드 요소의 특성을 정의합니다.
네임스페이스: EnvDTE80
어셈블리: EnvDTE80(EnvDTE80.dll)
구문
‘선언
<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")> _
Public Interface CodeAttribute2 _
Inherits CodeAttribute
[GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface CodeAttribute2 : CodeAttribute
[GuidAttribute(L"35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface class CodeAttribute2 : CodeAttribute
[<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")>]
type CodeAttribute2 =
interface
interface CodeAttribute
end
public interface CodeAttribute2 extends CodeAttribute
CodeAttribute2 형식에서는 다음과 같은 멤버를 노출합니다.
속성
이름 | 설명 | |
---|---|---|
Arguments | 이 특성과 관련된 CodeAttributeArgument 개체가 들어 있는 CodeElement 개체의 컬렉션을 가져옵니다. | |
Children | 이 코드 구문에 포함된 개체의 컬렉션을 가져옵니다. | |
Collection | CodeAttribute2 개체의 컬렉션을 가져옵니다. | |
DTE | 최상위 확장성 개체를 가져옵니다. | |
EndPoint | 코드 특성의 끝 위치가 되는 편집 지점을 가져옵니다. | |
Extender | 이 코드 특성에 사용 가능한 경우 요청한 Extender를 반환합니다. | |
ExtenderCATID | 개체의 Extender CATID(범주 ID)를 가져옵니다. | |
ExtenderNames | 개체에 대해 사용할 수 있는 Extender의 이름 목록을 가져옵니다. | |
FullName | 개체 파일의 전체 경로와 이름을 가져옵니다. | |
InfoLocation | 코드 모델을 가져옵니다. | |
IsCodeType | 이 개체로부터 CodeType 개체를 얻을 수 있는지 여부를 가져옵니다. | |
Kind | 특성 형식을 나타내는 열거형을 가져옵니다. | |
Language | 특성을 작성하는 데 사용되는 프로그래밍 언어를 식별하는 상수를 가져옵니다. | |
Name | 코드 특성의 이름을 설정하거나 가져옵니다. | |
Parent | 코드 특성의 바로 위 부모 개체를 가져옵니다. | |
ProjectItem | 코드 특성과 연결된 ProjectItem을 가져옵니다. | |
StartPoint | 특성의 시작 부분을 정의하는 TextPoint을 가져옵니다. | |
Target | 코드 특성의 대상을 설정하거나 가져옵니다. | |
Value | 코드 특성의 데이터를 설정하거나 가져옵니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
AddArgument | 특성에 인수를 추가합니다. | |
Delete | 코드 요소의 모든 특성을 제거합니다. | |
GetEndPoint | 특성의 끝 위치를 표시하는 TextPoint 개체를 반환합니다. | |
GetStartPoint | 특성의 시작 위치를 정의하는 TextPoint 개체를 반환합니다. |
위쪽
설명
CodeAttribute2 개체는 코드 요소와 관련된 하나의 COM 메타데이터 특성을 나타냅니다. AddAttribute 메서드를 사용하여 새 특성을 추가할 수 있고 Delete 메서드를 사용하여 적절한 개체에서 특성을 삭제할 수 있습니다. 이 개체를 사용하여 코드 특성 값을 가져오거나 설정할 수도 있습니다.
참고
클래스, 구조체, 함수, 특성, 대리자 등의 코드 모델 요소를 특정한 방식으로 편집한 후에는 요소의 값이 명확하지 않을 수 있습니다. 즉, 요소의 값이 항상 같다고 할 수 없습니다.자세한 내용은 코드 모델을 사용하여 코드 검색(Visual Basic)의 "코드 모델 요소 값이 변경될 수 있음" 단원을 참조하십시오.
예제
// The following example creates a new namespace and attribute in the current class.
public void CreateClassAndAttrib(DTE2 applicationObject)
{
// Before running, load or create a project.
FileCodeModel2 fcm2 = GetFileCodeModel(applicationObject);
CodeAttribute2 cmAttribute;
CodeClass2 cmClass;
if (fcm2 != null)
{
CodeNamespace cmNamespace;
// Try to create a new namespace.
try
{
cmNamespace = fcm2.AddNamespace("CMNamespace", -1);
// If successful, create the other code elements.
if (cmNamespace != null)
{
cmClass = (CodeClass2)cmNamespace.AddClass("ANewClass",
-1, null, null, vsCMAccess.vsCMAccessPrivate);
cmAttribute = (CodeAttribute2)cmClass.AddAttribute
("NewAttribute", "AttributeValue", -1);
}
else
{
MessageBox.Show("Cannot continue - no filecodemodel
available.");
}
}
catch (Exception ex)
{
MessageBox.Show("ERROR: " + ex);
}
}
}
public FileCodeModel2 GetFileCodeModel(DTE2 applicationObject)
{
// Returns the FileCodeModel object of the active
// window.
TextWindow txtWin =
(TextWindow)applicationObject.ActiveWindow.Object;
FileCodeModel2 fcm2;
if (txtWin != null)
{
try
{
fcm2 = (FileCodeModel2)txtWin.Parent.
ProjectItem.FileCodeModel;
return fcm2;
}
catch (Exception ex)
{
MessageBox.Show("ERROR: " + ex);
return null;
}
}
else
return null;
}