INameCreationService.CreateName(IContainer, Type) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy nową nazwę, która jest unikatowa dla wszystkich składników w określonym kontenerze.
public:
System::String ^ CreateName(System::ComponentModel::IContainer ^ container, Type ^ dataType);
public string CreateName (System.ComponentModel.IContainer container, Type dataType);
public string CreateName (System.ComponentModel.IContainer? container, Type dataType);
abstract member CreateName : System.ComponentModel.IContainer * Type -> string
Public Function CreateName (container As IContainer, dataType As Type) As String
Parametry
- container
- IContainer
Kontener, w którym jest dodawany nowy obiekt.
- dataType
- Type
Typ danych obiektu, który otrzymuje nazwę.
Zwraca
Unikatowa nazwa typu danych.
Przykłady
Poniższy przykład kodu zawiera przykładową INameCreationService.CreateName implementację metody. Metoda może utworzyć nazwę na podstawie nazwy określonego typu, który jest unikatowy dla nazw składników w określonym kontenerze.
// Creates an identifier for a particular data type that does not conflict
// with the identifiers of any components in the specified collection.
virtual String^ CreateName( System::ComponentModel::IContainer^ container, System::Type^ dataType )
{
// Create a basic type name string.
String^ baseName = dataType->Name;
int uniqueID = 1;
bool unique = false;
// Continue to increment uniqueID numeral until a
// unique ID is located.
while ( !unique )
{
unique = true;
// Check each component in the container for a matching
// base type name and unique ID.
for ( int i = 0; i < container->Components->Count; i++ )
{
// Check component name for match with unique ID string.
if ( container->Components[ i ]->Site->Name->StartsWith( String::Concat( baseName, uniqueID ) ) )
{
// If a match is encountered, set flag to recycle
// collection, increment ID numeral, and restart.
unique = false;
uniqueID++;
break;
}
}
}
return String::Concat( baseName, uniqueID );
}
// Creates an identifier for a particular data type that does not conflict
// with the identifiers of any components in the specified collection.
public string CreateName(System.ComponentModel.IContainer container, System.Type dataType)
{
// Create a basic type name string.
string baseName = dataType.Name;
int uniqueID = 1;
bool unique = false;
// Continue to increment uniqueID numeral until a
// unique ID is located.
while( !unique )
{
unique = true;
// Check each component in the container for a matching
// base type name and unique ID.
for(int i=0; i<container.Components.Count; i++)
{
// Check component name for match with unique ID string.
if( container.Components[i].Site.Name.StartsWith(baseName+uniqueID.ToString()) )
{
// If a match is encountered, set flag to recycle
// collection, increment ID numeral, and restart.
unique = false;
uniqueID++;
break;
}
}
}
return baseName+uniqueID.ToString();
}
' Creates an identifier for a particular data type that does not conflict
' with the identifiers of any components in the specified collection
Public Function CreateName(ByVal container As System.ComponentModel.IContainer, ByVal dataType As System.Type) As String Implements INameCreationService.CreateName
' Create a basic type name string
Dim baseName As String = dataType.Name
Dim uniqueID As Integer = 1
Dim unique As Boolean = False
' Continue to increment uniqueID numeral until a unique ID is located.
While Not unique
unique = True
' Check each component in the container for a matching
' base type name and unique ID.
Dim i As Integer
For i = 0 To container.Components.Count - 1
' Check component name for match with unique ID string.
If container.Components(i).Site.Name.StartsWith((baseName + uniqueID.ToString())) Then
' If a match is encountered, set flag to recycle
' collection, increment ID numeral, and restart.
unique = False
uniqueID += 1
Exit For
End If
Next i
End While
Return baseName + uniqueID.ToString()
End Function
Uwagi
Ta metoda zwraca nazwę nowego obiektu, który jest unikatowy w określonym kontenerze.
Uwagi dotyczące implementowania
Ten typ usługi jest często implementowany w celu utworzenia unikatowej nazwy obiektu na podstawie nazwy typu danych, często dołączanej z liczbą, która umożliwia nazwę unikatowego identyfikatora. Na przykład ListBox1
dla ListBox
obiektu.