GeneratedCodeAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет код, созданный средством. Этот класс не наследуется.
public ref class GeneratedCodeAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=false)]
public sealed class GeneratedCodeAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=false)>]
type GeneratedCodeAttribute = class
inherit Attribute
Public NotInheritable Class GeneratedCodeAttribute
Inherits Attribute
- Наследование
- Атрибуты
Примеры
В следующем примере кода показано использование класса для идентификации GeneratedCodeAttribute кода, созданного компьютером.
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::CodeDom;
using namespace System::CodeDom::Compiler;
int main()
{
// Declare a new type called Class1.
CodeTypeDeclaration^ class1 = gcnew CodeTypeDeclaration("Class1");
// Declare a new generated code attribute
GeneratedCodeAttribute^ generatedCodeAttribute =
gcnew GeneratedCodeAttribute("SampleCodeGenerator", "2.0.0.0");
// Use the generated code attribute members in the attribute declaration
CodeAttributeDeclaration^ codeAttrDecl =
gcnew CodeAttributeDeclaration(generatedCodeAttribute->GetType()->Name,
gcnew CodeAttributeArgument(
gcnew CodePrimitiveExpression(generatedCodeAttribute->Tool)),
gcnew CodeAttributeArgument(
gcnew CodePrimitiveExpression(generatedCodeAttribute->Version)));
class1->CustomAttributes->Add(codeAttrDecl);
// Create a C# code provider
CodeDomProvider^ provider = CodeDomProvider::CreateProvider("CSharp");
// Generate code and send the output to the console
provider->GenerateCodeFromType(class1, Console::Out, gcnew CodeGeneratorOptions());
}
// The CPP code generator produces the following source code for the preceeding example code:
//
// [GeneratedCodeAttribute("SampleCodeGenerator", "2.0.0.0")]
// public class Class1 {
// }
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
public class CodeGenExample
{
static void Main()
{
// Declare a new type called Class1.
CodeTypeDeclaration class1 = new CodeTypeDeclaration("Class1");
// Declare a new generated code attribute
GeneratedCodeAttribute generatedCodeAttribute =
new GeneratedCodeAttribute("SampleCodeGenerator", "2.0.0.0");
// Use the generated code attribute members in the attribute declaration
CodeAttributeDeclaration codeAttrDecl =
new CodeAttributeDeclaration(generatedCodeAttribute.GetType().Name,
new CodeAttributeArgument(
new CodePrimitiveExpression(generatedCodeAttribute.Tool)),
new CodeAttributeArgument(
new CodePrimitiveExpression(generatedCodeAttribute.Version)));
class1.CustomAttributes.Add(codeAttrDecl);
// Create a C# code provider
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
// Generate code and send the output to the console
provider.GenerateCodeFromType(class1, Console.Out, new CodeGeneratorOptions());
}
}
// The C# code generator produces the following source code for the preceeding example code:
//
// [GeneratedCodeAttribute("SampleCodeGenerator", "2.0.0.0")]
// public class Class1 {
// }
Imports System.CodeDom
Imports System.CodeDom.Compiler
Public Class CodeGenExample
Shared Sub Main
' Declare a new type called Class1.
Dim class1 as New CodeTypeDeclaration("Class1")
' Declare a new generated code attribute
Dim generatedCodeAttribute As _
New GeneratedCodeAttribute("SampleCodeGenerator", "2.0.0.0")
' Use the generated code attribute members in the attribute declaration
Dim codeAttrDecl As _
New CodeAttributeDeclaration(generatedCodeAttribute.GetType().Name,
New CodeAttributeArgument(
New CodePrimitiveExpression(generatedCodeAttribute.Tool)),
New CodeAttributeArgument(
New CodePrimitiveExpression(generatedCodeAttribute.Version)))
class1.CustomAttributes.Add(codeAttrDecl)
' Create a Visual Basic code provider
Dim provider As CodeDomProvider = CodeDomProvider.CreateProvider("VisualBasic")
' Generate code and send the output to the console
provider.GenerateCodeFromType(class1, Console.Out, New CodeGeneratorOptions())
End Sub
End Class
' The Visual Basic code generator produces the following source code for the preceeding example code:
'
' <GeneratedCodeAttribute("SampleCodeGenerator", "2.0.0.0")> _
' Public Class Class1
' End Class
Комментарии
Класс GeneratedCodeAttribute может использоваться средствами анализа кода для идентификации кода, созданного компьютером, и для предоставления анализа на основе средства и версии средства, создающего код.
Конструкторы
GeneratedCodeAttribute(String, String) |
Инициализирует новый экземпляр класса GeneratedCodeAttribute с указанием имени и версии средства, сгенерировавшего код. |
Свойства
Tool |
Получает имя средства, сгенерировавшего код. |
TypeId |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
Version |
Получает версию средства, сгенерировавшего код. |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту. (Унаследовано от Attribute) |
GetHashCode() |
Возвращает хэш-код данного экземпляра. (Унаследовано от Attribute) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса. (Унаследовано от Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от Attribute) |