次の方法で共有


INameCreationService.ValidateName(String) メソッド

定義

指定した名前が有効かどうかを示す値を取得します。

public:
 void ValidateName(System::String ^ name);
public void ValidateName (string name);
abstract member ValidateName : string -> unit
Public Sub ValidateName (name As String)

パラメーター

name
String

検証対象の名前。

次のコード例では、指定した文字列の各文字を調べて、指定した文字列が有効な名前かどうかを判断する文字列検証スキームを使用するメソッド実装の例 INameCreationService.IsValidName を示します。 文字列が無効な場合、メソッドは例外をスローします。

// 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)
{
    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.
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

注釈

INameCreationService 実装では、有効な名前のパラメーターを定義する規則を持つことができます。 このメソッドは、名前を検証し、それらの規則を適用するために実装できます。

このメソッドは に IsValidName似ていますが、名前が無効な場合、このメソッドは例外をスローします。 これにより、実装者は例外メッセージに詳細情報を提供できます。

適用対象