ProjectMetadata 클래스

정의

평가된 디자인 타임 메타데이터입니다.An evaluated design-time metadatum. ProjectItemDefinition 또는 ProjectItem이 부모로 지정합니다.Parented either by a ProjectItemDefinition or a ProjectItem.

public ref class ProjectMetadata : IEquatable<Microsoft::Build::Evaluation::ProjectMetadata ^>
public class ProjectMetadata : IEquatable<Microsoft.Build.Evaluation.ProjectMetadata>
type ProjectMetadata = class
    interface IEquatable<ProjectMetadata>
Public Class ProjectMetadata
Implements IEquatable(Of ProjectMetadata)
상속
ProjectMetadata
구현

설명

% (Filename) 등의 기본 제공 메타 데이터를 나타내는 데 사용 되지 않습니다.Never used to represent built-in metadata, like %(Filename). 항상 지원 XML 개체가 있습니다.There is always a backing XML object.

속성

ConditionLocation

Condition 특성의 위치Location of the condition attribute

EvaluatedValue

확인된 메타데이터 값을 가져옵니다.Gets the evaluated metadata value. 직접 설정할 수 없습니다: 확인 되지 않은 값만 설정할 수 있습니다.Cannot be set directly: only the unevaluated value can be set. Null일 수 없습니다.Is never null.

IsImported

메타데이터가 가져온 파일에서 생성된 경우 true를 반환합니다.If the metadatum originated in an imported file, returns true. 그렇지 않으면 false를 반환합니다.Otherwise returns false.

ItemType

부모 항목 정의 또는 항목의 항목 형식입니다.The item type of the parent item definition or item.

Location

요소 위치입니다.Location of the element

Name

메타데이터의 이름Name of the metadata

Predecessor

평가하는 동안 이 항목에 의해 재정의된 바로 이전의 메타데이터(항목 정의 또는 항목의)입니다.Any immediately previous metadatum (from item definition or item) that was overridden by this one during evaluation. 여기에는 조건이 true로 평가되는 동일한 형식의 항목 정의에 대한 것으로서 논리적 프로젝트 파일에서 동일한 이름을 갖는 모든 메타데이터가 포함됩니다.This would include all metadata with the same name that lie above in the logical project file, who are on item definitions of the same type, and whose conditions evaluated to true. 이 메타데이터가 특정 항목에 대한 것이면, 여기에는 조건이 true로 평가되는 동일한 항목에 대해 동일한 이름을 갖는 이전 메타데이터와 그 이후의 모든 항목 정의 메타데이터가 포함됩니다.If this metadatum is on an item, it would include any previous metadatum with the same name on the same item whose condition evaluated to true, and following that any item definition metadata. 위의 항목이 없으면 null입니다.If there are none above this is null. 프로젝트가 마지막 수정 이후 재평가되지 않은 경우 이 값이 정확하지 않을 수 있습니다.If the project has not been reevaluated since the last modification this value may be incorrect.

Project

이 메타데이터가 상주하는 프로젝트입니다.Project that this metadatum lives in. ProjectMetadata는 프로젝트에서 항상 라이브 상태입니다.ProjectMetadata's always live in a project.

UnevaluatedValue

확인되지 않은 메타데이터 값을 가져오거나 설정합니다.Gets or sets the unevaluated metadata value.

Setter는 평가되지 않은 값뿐 아니라 평가된 값도 업데이트하지만 재평가될 때까지 프로젝트의 다른 어떤 것에도 영향을 주지 않습니다.As well as updating the unevaluated value, the setter updates the evaluated value, but does not affect anything else in the project until reevaluation. 예를 들어 "m"이라는 메타데이터가 "i" 형식의 항목에서 수정된 경우 재평가될 때까지 "@(j->'%(m)')"에서 평가되는 "j"에 영향을 주지 않습니다.For example, --if a piece of metadata named "m" is modified on item of type "i", it does not affect "j" which is evaluated from "@(j->'%(m)')" until reevaluation. -"m"의 확인 되지 않은 값을 평가, "$(p)" 같은 의해 수정 된 값으로 설정 된 경우 확인된 된 값을 설정할 "$(p)"를 다시 확인할 때까지 합니다.--if the unevaluated value of "m" is set to something that is modified by evaluation, such as "$(p)", the evaluated value will be set to "$(p)" until reevaluation. 이는 편의를 위한 것이며 프로젝트를 완전히 일관된 상태로 유지하는 것은 아닙니다.This is a convenience that it is understood does not necessarily leave the project in a perfectly self consistent state.

ProjectItem을 통해 메타데이터를 설정하면 itemlist, 와일드카드 또는 세미콜론 식으로 시작된 경우 기본 ProjectItemElement가 분할될 수 있습니다. 호출자가 특정 항목에만 영향을 주기 때문입니다.Setting metadata through a ProjectItem may cause the underlying ProjectItemElement to be split, if it originated with an itemlist, wildcard, or semicolon expression, because it was clear that the caller intended to only affect that particular item. ProjectMetadata를 통해 메타데이터를 설정하면 호출자가 기본 ProjectMetadataElement를 사용하여 모든 항목에 영향을 주려고 의도한 것으로 가정하기 때문에 분할이 발생하지 않습니다.Setting metadata through a ProjectMetadata does not cause any splitting, because we assume the caller presumably intends to affect all items using the underlying ProjectMetadataElement. 적어도 이 가정은 합리적으로 보이므로 메타데이터가 포함 항목에 대한 포인터를 유지하지 않아도 됩니다.At least, this seems a reasonable assumption, and it avoids the need for metadata to hold a pointer to their containing items.

Xml

XML 메타데이터를 백업합니다.Backing XML metadata. Null일 수 없습니다.Can never be null.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IEquatable<ProjectMetadata>.Equals(ProjectMetadata)

이 메타데이터가 다른 메타데이터와 같은지 비교합니다.Compares this metadata to another for equivalence.

적용 대상