共用方式為


INameCreationService.CreateName(IContainer, Type) 方法

定義

建立在指定容器中所有元件的唯一新名稱。

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

參數

container
IContainer

加入新物件的所在容器。

dataType
Type

接收名稱的物件資料型別。

傳回

資料型別的唯一名稱。

範例

下列程式代碼範例提供範例 INameCreationService.CreateName 方法實作。 方法可以根據指定之類型的名稱建立名稱,該名稱對指定容器內的元件名稱是唯一的。

// 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

備註

這個方法會傳回指定容器內唯一之新物件的名稱。

給實施者的注意事項

此類型的服務通常會實作,以從數據類型的名稱建立唯一的物件名稱,通常會附加數位,以允許名稱成為唯一標識符。 例如, ListBox1 針對 ListBox 物件。

適用於