51 lines
2.1 KiB
C#
51 lines
2.1 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="INameCreationService.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.ComponentModel.Design.Serialization {
|
|
|
|
using System;
|
|
using System.Collections;
|
|
using System.ComponentModel.Design;
|
|
|
|
/// <devdoc>
|
|
/// This service may be provided by a designer loader to provide
|
|
/// a way for the designer to fabricate new names for objects.
|
|
/// If this service isn't available the designer will choose a
|
|
/// default implementation.
|
|
/// </devdoc>
|
|
public interface INameCreationService {
|
|
|
|
/// <devdoc>
|
|
/// Creates a new name that is unique to all the components
|
|
/// in the given container. The name will be used to create
|
|
/// an object of the given data type, so the service may
|
|
/// derive a name from the data type's name. The container
|
|
/// parameter can be null if no container search is needed.
|
|
/// </devdoc>
|
|
string CreateName(IContainer container, Type dataType);
|
|
|
|
/// <devdoc>
|
|
/// Determines if the given name is valid. A name
|
|
/// creation service may have rules defining a valid
|
|
/// name, and this method allows the sevice to enforce
|
|
/// those rules.
|
|
/// </devdoc>
|
|
bool IsValidName(string name);
|
|
|
|
/// <devdoc>
|
|
/// Determines if the given name is valid. A name
|
|
/// creation service may have rules defining a valid
|
|
/// name, and this method allows the sevice to enforce
|
|
/// those rules. It is similar to IsValidName, except
|
|
/// that this method will throw an exception if the
|
|
/// name is invalid. This allows implementors to provide
|
|
/// rich information in the exception message.
|
|
/// </devdoc>
|
|
void ValidateName(string name);
|
|
}
|
|
}
|
|
|