Freigeben über


INameCreationService.ValidateName-Methode

Ruft einen Wert ab, der angibt, ob der angegebene Name gültig ist.

Namespace: System.ComponentModel.Design.Serialization
Assembly: System (in system.dll)

Syntax

'Declaration
Sub ValidateName ( _
    name As String _
)
'Usage
Dim instance As INameCreationService
Dim name As String

instance.ValidateName(name)
void ValidateName (
    string name
)
void ValidateName (
    String^ name
)
void ValidateName (
    String name
)
function ValidateName (
    name : String
)

Parameter

  • name
    Das Name, dessen Gültigkeit geprüft werden soll.

Hinweise

Eine Implementierung von INameCreationService kann Regeln enthalten, die die Parameter für gültige Namen definieren. Diese Methode kann implementiert werden, um einen Namen zu validieren und die Anwendung dieser Regeln zu erzwingen.

Diese Methode ähnelt IsValidName, löst jedoch bei einem ungültigen Namen eine Ausnahme aus. Dadurch können Implementierungen in der Ausnahmemeldung detaillierte Informationen bereitstellen.

Beispiel

Im folgenden Codebeispiel wird eine Beispielimplementierung der INameCreationService.IsValidName-Methode bereitgestellt, die ein Validierungsschema für Zeichenfolgen verwendet, mit dem jedes Zeichen der angegebenen Zeichenfolge überprüft wird, um zu bestimmen, ob die angegebene Zeichenfolge ein gültiger Name ist. Die Methode löst eine Ausnahme aus, wenn die Zeichenfolge nicht gültig ist.

' Throws an exception if the specified name does not contain 
' all valid character types.
Public Sub ValidateName(ByVal name As String) Implements INameCreationService.ValidateName
    Dim i As Integer
    For i = 0 To name.Length - 1
        Dim ch As Char = name.Chars(i)
        Dim uc As UnicodeCategory = [Char].GetUnicodeCategory(ch)
        Select Case uc
            Case UnicodeCategory.UppercaseLetter, UnicodeCategory.LowercaseLetter, UnicodeCategory.TitlecaseLetter, UnicodeCategory.DecimalDigitNumber
            Case Else
                Throw New Exception("The name '" + name + "' is not a valid identifier.")
        End Select
    Next i
End Sub
// Throws an exception if the specified name does not contain 
// all valid character types.
public void ValidateName(string name)
{
    for(int i = 0; i < name.Length; i++)
    {
        char ch = name[i];
        UnicodeCategory uc = Char.GetUnicodeCategory(ch);
        switch (uc) 
        {
            case UnicodeCategory.UppercaseLetter:       
            case UnicodeCategory.LowercaseLetter:     
            case UnicodeCategory.TitlecaseLetter:                                                  
            case UnicodeCategory.DecimalDigitNumber:                         
                break;
            default:
                throw new Exception("The name '"+name+"' is not a valid identifier.");                
        }
    }
}
// Throws an exception if the specified name does not contain 
// all valid character types.
virtual void ValidateName( String^ name )
{
   for ( int i = 0; i < name->Length; i++ )
   {
      Char ch = name[ i ];
      UnicodeCategory uc = Char::GetUnicodeCategory( ch );
      switch ( uc )
      {
         case UnicodeCategory::UppercaseLetter:
         case UnicodeCategory::LowercaseLetter:
         case UnicodeCategory::TitlecaseLetter:
         case UnicodeCategory::DecimalDigitNumber:
            break;

         default:
            throw gcnew Exception( String::Format( "The name '{0}' is not a valid identifier.", name ) );
      }
   }
}
// Throws an exception if the specified name does not contain 
// all valid character types.
public void ValidateName(String name)throws java.lang.Exception
{
    for (int i = 0; i < name.length(); i++) {
        char ch = name.get_Chars(i);
        UnicodeCategory uc = Char.GetUnicodeCategory(ch);
        switch (uc) {
            case UnicodeCategory.UppercaseLetter:
            case UnicodeCategory.LowercaseLetter:
            case UnicodeCategory.TitlecaseLetter:
            case UnicodeCategory.DecimalDigitNumber:
                break;

            default:
                throw new Exception("The name '" + name 
                    + "' is not a valid identifier.");
        }
    }
} //ValidateName

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, 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

INameCreationService-Schnittstelle
INameCreationService-Member
System.ComponentModel.Design.Serialization-Namespace