SharedPropertyGroupManager-Klasse
Steuert den Zugriff auf Gruppen freigegebener Eigenschaften. Diese Klasse kann nicht vererbt werden.
Namespace: System.EnterpriseServices
Assembly: System.EnterpriseServices (in system.enterpriseservices.dll)
Syntax
'Declaration
<ComVisibleAttribute(False)> _
Public NotInheritable Class SharedPropertyGroupManager
Implements IEnumerable
'Usage
Dim instance As SharedPropertyGroupManager
[ComVisibleAttribute(false)]
public sealed class SharedPropertyGroupManager : IEnumerable
[ComVisibleAttribute(false)]
public ref class SharedPropertyGroupManager sealed : IEnumerable
/** @attribute ComVisibleAttribute(false) */
public final class SharedPropertyGroupManager implements IEnumerable
ComVisibleAttribute(false)
public final class SharedPropertyGroupManager implements IEnumerable
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie SharedPropertyGroupManager zum Erstellen und Verwalten von freigegebenen Eigenschaften verwendet wird.
Imports System
Imports System.EnterpriseServices
Imports System.Reflection
<Assembly: ApplicationName("ReceiptNumberGenerator")>
<Assembly: ApplicationActivation(ActivationOption.Library)>
Public Class ReceiptNumberGeneratorClass
' Generates a new receipt number based on the receipt number
' stored by the Shared Property Manager (SPM)
Public Function GetNextReceiptNumber() As Integer
Dim groupExists, propertyExists As Boolean
Dim nextReceiptNumber As Integer = 0
Dim lockMode As PropertyLockMode = PropertyLockMode.SetGet
Dim releaseMode As PropertyReleaseMode = PropertyReleaseMode.Standard
' Create a shared property group manager.
Dim groupManager As New SharedPropertyGroupManager()
' Create a shared property group.
Dim group As SharedPropertyGroup = groupManager.CreatePropertyGroup("Receipts", lockMode, releaseMode, groupExists)
' Create a shared property.
Dim ReceiptNumber As SharedProperty
ReceiptNumber = group.CreateProperty("ReceiptNumber", propertyExists)
' Retrieve the value from shared property, and increment the shared
' property value.
nextReceiptNumber = Fix(ReceiptNumber.Value)
ReceiptNumber.Value = nextReceiptNumber + 1
' Return nextReceiptNumber
Return nextReceiptNumber
End Function 'GetNextReceiptNumber
End Class 'ReceiptNumberGeneratorClass
using System;
using System.EnterpriseServices;
using System.Reflection;
[assembly: ApplicationName("ReceiptNumberGenerator")]
[assembly: ApplicationActivation(ActivationOption.Library)]
public class ReceiptNumberGeneratorClass
{
// Generates a new receipt number based on the receipt number
// stored by the Shared Property Manager (SPM)
public int GetNextReceiptNumber()
{
bool groupExists,propertyExists;
int nextReceiptNumber = 0;
PropertyLockMode lockMode = PropertyLockMode.SetGet;
PropertyReleaseMode releaseMode = PropertyReleaseMode.Standard;
// Create a shared property group manager.
SharedPropertyGroupManager groupManager = new SharedPropertyGroupManager();
// Create a shared property group.
SharedPropertyGroup group = groupManager.CreatePropertyGroup("Receipts",
ref lockMode, ref releaseMode, out groupExists);
// Create a shared property.
SharedProperty ReceiptNumber;
ReceiptNumber = group.CreateProperty("ReceiptNumber",out propertyExists);
// Retrieve the value from shared property, and increment the shared
// property value.
nextReceiptNumber = (int) ReceiptNumber.Value;
ReceiptNumber.Value = nextReceiptNumber + 1;
// Return nextReceiptNumber
return nextReceiptNumber;
}
}
#using <System.EnterpriseServices.dll>
using namespace System;
using namespace System::EnterpriseServices;
using namespace System::Reflection;
[assembly:AssemblyKeyFile("..\\common\\key.snk")];
[assembly:ApplicationName("ReceiptNumberGenerator")];
[assembly:ApplicationActivation(ActivationOption::Library)];
public ref class ReceiptNumberGeneratorClass
{
public:
// Generates a new receipt number based on the receipt number
// stored by the Shared Property Manager (SPM)
int GetNextReceiptNumber()
{
bool groupExists;
bool propertyExists;
int nextReceiptNumber = 0;
PropertyLockMode lockMode = PropertyLockMode::SetGet;
PropertyReleaseMode releaseMode = PropertyReleaseMode::Standard;
// Create a shared property group manager.
SharedPropertyGroupManager^ groupManager = gcnew SharedPropertyGroupManager;
// Create a shared property group.
SharedPropertyGroup^ group =
groupManager->CreatePropertyGroup( "Receipts", lockMode, releaseMode, groupExists );
// Create a shared property.
SharedProperty^ ReceiptNumber;
ReceiptNumber = group->CreateProperty( "ReceiptNumber", propertyExists );
// Retrieve the value from shared property, and increment the shared
// property value.
nextReceiptNumber = safe_cast<int>(ReceiptNumber->Value);
ReceiptNumber->Value = nextReceiptNumber + 1;
// Return nextReceiptNumber
return nextReceiptNumber;
}
};
import System.*;
import System.EnterpriseServices.*;
import System.Reflection.*;
/** @assembly AssemblyKeyFile("key.snk")
*/
/** @assembly ApplicationName("ReceiptNumberGenerator")
*/
/** @assembly ApplicationActivation(ActivationOption.Library)
*/
public class ReceiptNumberGeneratorClass
{
// Generates a new receipt number based on the receipt number
// stored by the Shared Property Manager (SPM)
public int GetNextReceiptNumber()
{
boolean groupExists = false;
boolean propertyExists = false;
int nextReceiptNumber = 0;
PropertyLockMode lockMode = PropertyLockMode.SetGet;
PropertyReleaseMode releaseMode = PropertyReleaseMode.Standard;
// Create a shared property group manager.
SharedPropertyGroupManager groupManager =
new SharedPropertyGroupManager();
// Create a shared property group.
SharedPropertyGroup group = groupManager.CreatePropertyGroup("Receipts",
lockMode, releaseMode, groupExists);
// Create a shared property.
SharedProperty receiptNumber;
receiptNumber = group.CreateProperty("receiptNumber", propertyExists);
// Retrieve the value from shared property, and increment the shared
// property value.
nextReceiptNumber = System.Convert.ToInt32(receiptNumber.get_Value());
receiptNumber.set_Value((Int32)(nextReceiptNumber + 1));
// Return nextReceiptNumber
return nextReceiptNumber;
} //GetNextReceiptNumber
} //ReceiptNumberGeneratorClass
Vererbungshierarchie
System.Object
System.EnterpriseServices.SharedPropertyGroupManager
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
SharedPropertyGroupManager-Member
System.EnterpriseServices-Namespace