Udostępnij za pośrednictwem


Klasa ProvideCodeGeneratorAttribute

Ten atrybut stosuje się do klasy pakietu rozszerzenia programu Visual Studio, który zapewnia narzędzia niestandardowe.

Ten interfejs API nie jest zgodny ze specyfikacją CLS. 

Hierarchia dziedziczenia

Object
  Attribute
    RegistrationAttribute
      Microsoft.VisualStudio.TextTemplating.VSHost.ProvideCodeGeneratorAttribute

Przestrzeń nazw:  Microsoft.VisualStudio.TextTemplating.VSHost
Zestaw:  Microsoft.VisualStudio.TextTemplating.VSHost.12.0 (w Microsoft.VisualStudio.TextTemplating.VSHost.12.0.dll)

Składnia

'Deklaracja
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := False)> _
<CLSCompliantAttribute(False)> _
Public NotInheritable Class ProvideCodeGeneratorAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
[CLSCompliantAttribute(false)]
public sealed class ProvideCodeGeneratorAttribute : RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = false)]
[CLSCompliantAttribute(false)]
public ref class ProvideCodeGeneratorAttribute sealed : public RegistrationAttribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)>]
[<CLSCompliantAttribute(false)>]
type ProvideCodeGeneratorAttribute =  
    class 
        inherit RegistrationAttribute 
    end
public final class ProvideCodeGeneratorAttribute extends RegistrationAttribute

Typ ProvideCodeGeneratorAttribute uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna ProvideCodeGeneratorAttribute

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna Description Ludzi czytelny opis tego generatora
Właściwość publiczna GeneratesDesignTimeSource Jeśli ma wartość true, to generator kodu zawiera kod źródłowy w czasie projektowania
Właściwość publiczna Name Nazwa tego generatora.Aby zastosować ten generator do pliku w oknie Solution Explorer, należy ustawić jego Niestandardowego narzędzia właściwość do tej nazwy.
Właściwość publiczna ProjectSystem System projektu, w którym zarejestrowany jest tego generatora kodu.
Właściwość publiczna RegisterCodeBase Jeśli wartość true, generator jest zarejestrowany przy użyciu codebase - to znaczy określony zestaw lokalizacji pliku.Jeśli ma wartość FAŁSZ, zgromadzenie jest w pamięci podręcznej GAC.
Właściwość publiczna Type Typ wykonawczych Generator kodu
Właściwość publiczna TypeId (Odziedziczone z RegistrationAttribute).

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Infrastruktura. Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. (Odziedziczone z Attribute).
Metoda publiczna GetHashCode Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone z Attribute).
Metoda publiczna GetType Gets the Type of the current instance. (Odziedziczone z Object).
Metoda publiczna IsDefaultAttribute Po zastąpieniu w klasie pochodnej, wskazuje, czy wartość to wystąpienie jest wartością domyślną dla klasy pochodnej. (Odziedziczone z Attribute).
Metoda publiczna Match Po zastąpieniu w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest równa określonego obiektu. (Odziedziczone z Attribute).
Metoda publiczna Register (Zastępuje RegistrationAttribute.Register(RegistrationContext)).
Metoda publiczna ToString Returns a string that represents the current object. (Odziedziczone z Object).
Metoda publiczna Unregister (Zastępuje RegistrationAttribute.Unregister(RegistrationContext)).

Początek

Pola

  Nazwa Opis
Pole publiczneStatyczny element członkowski AspNetProjectGuid Identyfikator GUID interfejsu ISAPI programu ASP.NET pakiet systemu projektu
Pole publiczneStatyczny element członkowski CSharpProjectGuid Identyfikator GUID pakietu systemu projekt C#
Pole publiczneStatyczny element członkowski VisualBasicProjectGuid Identyfikator GUID pakietu Visual Basic Project systemu

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna System#Runtime#InteropServices#_Attribute#GetIDsOfNames Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna System#Runtime#InteropServices#_Attribute#GetTypeInfo Pobiera informacje o typie dla obiektu, który można uzyskać informacji o typie dla interfejsu. (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna System#Runtime#InteropServices#_Attribute#GetTypeInfoCount Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone z Attribute).
Jawna implementacja interfejsuMetoda prywatna System#Runtime#InteropServices#_Attribute#Invoke Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone z Attribute).

Początek

Uwagi

Ten atrybut rejestruje swoje rozszerzenie programu Visual Studio jako niestandardowe narzędzie.Gdy użytkownik zainstalował rozszerzenie tego atrybutu, mogą go używać do generowania plików za pomocą Uruchomić narzędzie niestandardowe polecenia w oknie Solution Explorer.

Atrybut ten automatycznie wykonuje zadanie rejestracji, opisana w Rejestrowanie generatory pojedynczy plik.

Zastosuj atrybut do klasy pakietu (a nie klasy generator).

See also ProvideCodeGeneratorExtensionAttribute.

Przykłady

[ProvideCodeGenerator(typeof(MyGenerator), "MyCustomTool", "My custom tool", true, ProjectSystem = ProvideCodeGeneratorAttribute.CSharpProjectGuid)]
internal sealed partial class MyPackage : Microsoft.VisualStudio.Shell
.Package
{ ... }
internal class MyGenerator : Microsoft.VisualStudio.Shell.Interop.IVsSingleFileGenerator
{ ... }

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.TextTemplating.VSHost