다음을 통해 공유


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 메서드 구현을 제공합니다. 문자열이 유효하지 않으면 메서드가 예외를 throw합니다.

// 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유효하지 않은 경우 이 메서드가 예외를 throw한다는 점을 제외하고 입니다. 이를 통해 구현자는 예외 메시지에 자세한 정보를 제공할 수 있습니다.

적용 대상