다음을 통해 공유


ElementOperations 클래스

모델 요소 컬렉션에 수행하는 일반적인 작업을 제공합니다.

상속 계층 구조

System.Object
  Microsoft.VisualStudio.Modeling.ElementOperations
    Microsoft.VisualStudio.Modeling.Diagrams.DesignSurfaceElementOperations

네임스페이스:  Microsoft.VisualStudio.Modeling
어셈블리:  Microsoft.VisualStudio.Modeling.Sdk.12.0(Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)

구문

‘선언
Public Class ElementOperations
public class ElementOperations

ElementOperations 형식에서는 다음과 같은 멤버를 노출합니다.

생성자

  이름 설명
Protected 메서드 ElementOperations(IServiceProvider) ElementOperations 클래스의 새 인스턴스를 초기화합니다.
Public 메서드 ElementOperations(IServiceProvider, Partition) ElementOperations 클래스의 새 인스턴스를 초기화합니다.
Public 메서드 ElementOperations(IServiceProvider, Store) 사용되지 않습니다. ElementOperations 클래스의 새 인스턴스를 초기화합니다.

위쪽

속성

  이름 설명
Protected 속성 Partition
Protected 속성 ServiceProvider
Protected 속성 Store

위쪽

메서드

  이름 설명
Protected 메서드 AddCustomFormat 지정된 ModelElements 컬렉션을 사용하여 지정된 IDataObject에 하나 이상의 사용자 정의 데이터 형식을 추가합니다.
Protected 메서드 AddElementGroupFormat(IDataObject, ICollection<ModelElement>, ClosureType) 지정된 ModelElements 컬렉션을 사용하여 지정된 IDataObject에 ElementGroupPrototype 형식을 추가합니다.이 메서드는 순서대로 다음 재정의할 수 있는 메서드 3개를 호출합니다.CreateElementGroup b입니다.MarkRootElements c.그런 다음 CreateElementGroupPrototype은 만들어진 CreateElementGroupPrototype을 데이터 매개 변수에 보관합니다.
Protected 메서드 AddElementGroupFormat(IDataObject, ICollection<ModelElement>, ClosureType, Boolean) 지정된 ModelElements 컬렉션을 사용하여 지정된 IDataObject에 ElementGroupPrototype 형식을 추가합니다.모델 요소의 컬렉션을 만들기 위해 요소 링크의 요청 로드를 강제로 수행하기 위해 파생 클래스에서 호출될 수 있습니다.
Protected 메서드 CanAddCustomFormat ModelElement 컬렉션이 사용자 지정 형식을 만드는 데 사용될 수 있는지 여부를 나타내는 값을 반환합니다.
Protected 메서드 CanAddElementGroupFormat ModelElement 컬렉션이 ElementGroupPrototype 형식을 만드는 데 사용될 수 있는지 여부를 나타내는 값을 반환합니다.
Public 메서드 CanCopy(ICollection<ModelElement>) ModelElements의 컬렉션을 IDataObject로 복사할 수 있는지 여부를 나타내는 값을 가져옵니다.
Public 메서드 CanCopy(ICollection<ModelElement>, ClosureType) ModelElements의 컬렉션을 IDataObject로 복사할 수 있는지 여부를 나타내는 값을 가져옵니다.작업을 수행하려면 CanCopyCore를 호출합니다.
Protected 메서드 CanCopyCore ModelElements의 컬렉션을 IDataObject로 복사할 수 있는지 여부를 나타내는 값을 가져옵니다.
Public 메서드 CanDelete(ModelElement, array<Guid[]) 요소의 삭제 클로저에서 모든 요소에 적용할 수 있는 IMS 잠금을 고려하여 지정한 요소를 삭제할 수 있는지 쿼리합니다.
Public 메서드 CanDelete(IEnumerable<ModelElement>, array<Guid[]) 요소의 완전한 삭제 클로저에서 모든 요소에 적용할 수 있는 IMS 잠금을 고려하여 지정한 요소의 집합을 삭제할 수 있는지 쿼리합니다.
Public 메서드 CanMerge ElementGroupPrototype는 IDataObject에서 병합할 수 있는지 여부를 나타내는 값을 반환 (즉, 붙여 넣거나 삭제) 대상 모델 요소에 있습니다.
Public 메서드 CanMergeElementGroupPrototype(ModelElement, ElementGroupPrototype) MergeElementGroupPrototype을 수행할 수 있는지 여부를 나타내는 값을 반환합니다.
Protected 메서드 CanMergeElementGroupPrototype(ModelElement, ProtoElementBase, ElementGroupPrototype) 특정 호스트 및 요소 그룹 프로토타입을 사용하여 MergeElementGroupPrototype을 수행할 수 있는지 여부를 나타내는 값을 가져옵니다.
Public 메서드 CanMove ModelElements의 컬렉션을 이동할 수 있는지 여부를 나타내는 값을 가져옵니다.
Public 메서드 ChooseMergeTarget(ModelElement, ElementGroup) targetElement이 제한된 경우 병합할 대상 요소를 가져옵니다.기본적으로 이 메서드는 의도하는 대상을 변경할 기회를 대상 요소에 제공합니다.
Public 메서드 ChooseMergeTarget(ModelElement, ElementGroupPrototype) targetElement이 제한된 경우 병합할 대상 요소를 가져옵니다.이는 병합 예정인 대상을 변경할 기회를 ElementOperations에 제공합니다.기본적으로 이 메서드는 의도하는 대상을 변경할 기회를 대상 요소에 제공합니다.
Public 메서드 Copy(IDataObject, ICollection<ModelElement>) ModelElements의 컬렉션을 IDataObject에 하나 이상의 데이터 형식으로 복사합니다.
Public 메서드 Copy(IDataObject, ICollection<ModelElement>, ClosureType) ModelElements의 컬렉션을 IDataObject에 하나 이상의 데이터 형식으로 복사합니다.
Public 메서드 Copy(IDataObject, ICollection<ModelElement>, PointF) ModelElements의 컬렉션을 IDataObject에 하나 이상의 데이터 형식으로 복사합니다.
Public 메서드 Copy(IDataObject, ICollection<ModelElement>, ClosureType, PointF) ModelElements의 컬렉션을 IDataObject에 하나 이상의 데이터 형식으로 복사합니다.
Protected 메서드 CreateElementGroup ClosureElementGroup을 만듭니다.
Protected 메서드 CreateElementGroupPrototype
Public 메서드 Equals 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드정적 멤버 GetClipboardDataObject ElementGroupPrototype 형식을 포함하는 경우 클립보드의 IDataObject를 반환하고, 그렇지 않으면 null을 반환합니다.
Public 메서드정적 멤버 GetElementGroupPrototype DataObject에서 ElementGroupPrototype을 가져옵니다(있는 경우).
Public 메서드 GetHashCode 기본 해시 함수로 작동합니다. (Object에서 상속됨)
Protected 메서드정적 멤버 GetModelingToolboxItemDisplayName IDataObject에 ModelingToolboxItem이 들어 있는 경우 해당 DisplayName을 반환하고, 그렇지 않으면 null을 반환합니다.
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드정적 멤버 IsElementGroupPrototypeFormatAvailable ElementGroupPrototype 클립보드 형식을 클립보드에서 사용할 수 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
Protected 메서드 MarkRootElements elementGroup 매개 변수에 RootElements를 표시합니다.
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드 Merge (붙여 넣습니다 또는 감소) 병합 대상 모델 요소는 IDataObject에서 ElementGroupPrototype.
Public 메서드 MergeElementGroup 지정된 대상 ModelElement를 사용하여 소스 ElementGroup을 병합합니다.
Public 메서드 MergeElementGroupPrototype 지정된 대상 ModelElement를 사용하여 소스 ElementGroupPrototype을 병합합니다.
Protected 메서드 OnElementsReconstituted ElementGroupPrototype의 요소가 다시 구성된 직후(하지만 모델의 나머지 요소에 연결되기 전) MergeElementGroupPrototype에 의해 호출됩니다.
Protected 메서드 OnMerged 로컬 트랜잭션이 커밋되기 바로 전에 MergeElementGroupPrototype에서 호출됩니다.로컬 트랜잭션 동안 규칙은 큐에 대기되고 트랜잭션이 커밋되면 적용됩니다.로컬 트랜잭션은 재구성 및 연결 요소를 래핑합니다.
Protected 메서드 OnMerging 대상 요소가 선택된 직후(하지만 ElementGroupPrototype의 요소가 다시 구성되기 전) MergeElementGroupPrototype에 의해 호출됩니다.
Protected 메서드 PropagateElementGroupContextToTransaction 현재 활성 최상위 트랜잭션에 대한 요소 그룹에 있는 컨텍스트를 전파합니다.
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)

위쪽

이벤트

  이름 설명
Public 이벤트 ElementsReconstituted ElementGroupPrototype의 요소가 다시 구성된 직후(하지만 모델의 나머지 요소에 연결되기 전) MergeElementGroupPrototype에 의해 호출됩니다.
Public 이벤트 Merged 로컬 트랜잭션이 커밋되기 바로 전에 MergeElementGroupPrototype에서 호출됩니다.로컬 트랜잭션 동안 규칙은 큐에 대기되고 트랜잭션이 커밋되면 적용됩니다.로컬 트랜잭션은 재구성 및 연결 요소를 래핑합니다.
Public 이벤트 Merging 대상 요소가 선택된 직후(하지만 ElementGroupPrototype의 요소가 다시 구성되기 전) MergeElementGroupPrototype에 의해 호출됩니다.

위쪽

설명

복사본에 대 한 사용자 정의 데이터 형식 만들기 및 붙여넣기 작업을 하려면이 클래스에서 파생 됩니다. 재정의할 클래스 다이어그램에서에서 ElementOperations 인스턴스를 반환 하 여 ElementOperations 서브. 모든 호출에서 동일한 인스턴스를 반환해야 합니다.

자세한 내용은 방법: 프로그램 복사 및 붙여넣기 동작 - 리디렉션을 참조하십시오.

예제

using Microsoft.VisualStudio.Modeling;
using Microsoft.VisualStudio.Modeling.Diagrams;
using Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement;

  public partial class MyDslDiagram
  {
    public override DesignSurfaceElementOperations ElementOperations
    {
      get
      {
        if (this.elementOperations == null)
        {
          this.elementOperations = new MyElementOperations(this.Store as IServiceProvider, this);
        }
        return this.elementOperations;
      }
    }
    private MyElementOperations elementOperations = null;
  }

  public class MyElementOperations : DesignSurfaceElementOperations
  {
    public MyElementOperations(IServiceProvider serviceProvider, MyDslDiagram diagram)
      : base(serviceProvider, diagram)
    { }
    // Overridden methods follow
  }

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.VisualStudio.Modeling 네임스페이스