TemplateInstanceAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy metaadat-attribútumot határoz meg, amely a sablon engedélyezett példányainak számának megadására szolgál. Ez az osztály nem örökölhető.
public ref class TemplateInstanceAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class TemplateInstanceAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property)>]
type TemplateInstanceAttribute = class
inherit Attribute
Public NotInheritable Class TemplateInstanceAttribute
Inherits Attribute
- Öröklődés
- Attribútumok
Példák
Az alábbi példakód bemutatja az enumerálás és az TemplateInstanceTemplateInstanceAttribute osztály használatát. Egy névvel ellátott LoginView egyéni MyLoginViewA vezérlő felülírja a AnonymousTemplate tulajdonságot, és az TemplateInstanceAttribute osztály használatával adja meg, hogy a AnonymousTemplate tulajdonságnak csak egy példánya legyen létrehozva.
using System;
using System.Data;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Samples.AspNet.CS.Controls
{
public class MyLoginViewA : LoginView
{
private ITemplate _anonymoustemplate;
[Browsable(false),
DefaultValue(null),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateContainer(typeof(LoginView)),
TemplateInstance(TemplateInstance.Single)
]
public override ITemplate AnonymousTemplate
{
get
{
return _anonymoustemplate;
}
set
{
_anonymoustemplate = value;
}
}
}
}
Imports System.Data
Imports System.ComponentModel
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace Samples.AspNet.VB.Controls
Public Class MyLoginViewA
Inherits LoginView
Private _anonymoustemplate As ITemplate
<Browsable(False), DefaultValue(""), PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(GetType(LoginView)), TemplateInstance(TemplateInstance.Single)> _
Public Overrides Property AnonymousTemplate() As System.Web.UI.ITemplate
Get
Return _anonymoustemplate
End Get
Set(ByVal value As System.Web.UI.ITemplate)
_anonymoustemplate = value
End Set
End Property
End Class
End Namespace
Az alábbi példakód egy ASPX-fájl, amely a MyLoginViewA vezérlőt használja, és bemutatja, hogyan férhet hozzá az TemplateInstanceAttribute osztály tulajdonságaihoz.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Reflection" %>
<%@ Register TagPrefix="AspNetSamples" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
// <Snippet3>
protected void Page_Load(object sender, EventArgs e)
{
// Get the class type for which to access metadata.
Type clsType = typeof(MyLoginViewA);
// Get the PropertyInfo object for FirstTemplate.
PropertyInfo pInfo = clsType.GetProperty("AnonymousTemplate");
// See if the TemplateInstanceAttribute is defined for this property.
bool isDef = Attribute.IsDefined(pInfo, typeof(TemplateInstanceAttribute));
// Display the result if the attribute exists.
if (isDef)
{
TemplateInstanceAttribute tia =
(TemplateInstanceAttribute)Attribute.GetCustomAttribute(pInfo, typeof(TemplateInstanceAttribute));
Response.Write("The <AnonymousTemplate> has the TemplateInstanceAttribute = " + tia.Instances.ToString() + ".<br />");
if (tia.IsDefaultAttribute())
Response.Write("The TemplateInstanceAttribute used is the same as the default instance.");
else
Response.Write("The TemplateInstanceAttribute used is not the same as the default instance.");
}
}
// </Snippet3>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TemplateInstance Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<AspNetSamples:MyLoginViewA id="MyLoginViewA1" runat="server">
<AnonymousTemplate>
<asp:Label ID="LoginViewLabel1" runat="server" Text="LoginView Anonymous Template Text"/>
</AnonymousTemplate>
</AspNetSamples:MyLoginViewA>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Reflection" %>
<%@ Register TagPrefix="AspNetSamples" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB.Controls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
' <Snippet3>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' Get the class type for which to access metadata.
Dim clsType As Type = GetType(MyLoginViewA)
' Get the PropertyInfo object for FirstTemplate.
Dim pInfo As PropertyInfo = clsType.GetProperty("AnonymousTemplate")
' See if the TemplateInstanceAttribute is defined for this property.
Dim isDef As Boolean = Attribute.IsDefined(pInfo, GetType(TemplateContainerAttribute))
' Display the result if the attribute exists.
If isDef Then
Dim tia As TemplateInstanceAttribute = CType(Attribute.GetCustomAttribute(pInfo, GetType(TemplateInstanceAttribute)), TemplateInstanceAttribute)
Response.Write("The <AnonymousTemplate> has the TemplateInstanceAttribute = " & tia.Instances.ToString() & ".<br />")
If (tia.IsDefaultAttribute()) Then
Response.Write("The TemplateInstanceAttribute used is the same as the default instance.")
Else
Response.Write("The TemplateInstanceAttribute used is not the same as the default instance.")
End If
End If
End Sub
' </Snippet3>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TemplateInstance Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<AspNetSamples:MyLoginViewA id="MyLoginViewA1" runat="server">
<AnonymousTemplate>
<asp:Label ID="LoginViewLabel1" runat="server" Text="LoginView Anonymous Template Text"/>
</AnonymousTemplate>
</AspNetSamples:MyLoginViewA>
</div>
</form>
</body>
</html>
Megjegyzések
Az TemplateInstanceAttribute osztály lehetővé teszi egy sablontulajdonság megjelölését egy vagy több példányosítást lehetővé tevő tulajdonságként. Egy olyan sablon, amely csak egyetlen példányosítást tesz lehetővé, hivatkozhat a benne található vezérlőkre. A ZoneTemplate tulajdonság egy olyan tulajdonság példája, amely csak egyszer hozható létre.
Ez TemplateInstanceAttribute az osztály nem kötelező. Ha egy sablontulajdonság nincs kiterjesztve egy TemplateInstanceAttribute osztálysal, a rendszer az alapértelmezett értéket, a Multiple mezőt használja. Az attribútumok használatáról további információt az Attribútumok című témakörben talál.
Konstruktorok
| Name | Description |
|---|---|
| TemplateInstanceAttribute(TemplateInstance) |
Inicializálja az osztály új példányát TemplateInstanceAttribute a megadott TemplateInstance enumerálási értékkel. |
Mezők
| Name | Description |
|---|---|
| Default |
Meghatározza az osztály alapértelmezett értékét TemplateInstanceAttribute . Ez a mező csak olvasható. |
| Multiple |
Létrehoz egy példányt az TemplateInstanceAttribute osztályból, amely egy olyan sablont jelöl, amely többször lesz példányosítva. Ez a mező csak olvasható. |
| Single |
Létrehoz egy példányt az TemplateInstanceAttribute osztályból, amely egy sablont jelöl, amely egyetlen alkalommal lesz példányosítva. Ez a mező csak olvasható. |
Tulajdonságok
| Name | Description |
|---|---|
| Instances |
Lekéri az TemplateInstance aktuális sablonpéldány által képviselt enumerálási értéket. |
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Azt jelzi, hogy a megadott objektum objektum-e TemplateInstanceAttribute , és megegyezik-e ezzel TemplateInstanceAttribute az objektummal. |
| GetHashCode() |
Lekéri az TemplateInstanceAttribute objektum kivonatkódját. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Egy értéket ad vissza, amely jelzi, hogy az aktuális TemplateInstanceAttribute objektum megegyezik-e az alapértelmezett TemplateInstanceAttribute objektummal. |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |