Classe ForeignKey

The ForeignKey object represents a SQL Server foreign key.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (em Microsoft.SqlServer.Smo.dll)

Sintaxe

'Declaração
Public NotInheritable Class ForeignKey _
    Inherits ScriptNameObjectBase _
    Implements ICreatable, IDroppable, IMarkForDrop, IAlterable,  _
    IRenamable, IExtendedProperties, IScriptable, ISfcSupportsDesignMode
'Uso
Dim instance As ForeignKey
public sealed class ForeignKey : ScriptNameObjectBase, 
    ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable, ISfcSupportsDesignMode
public ref class ForeignKey sealed : public ScriptNameObjectBase, 
    ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable, ISfcSupportsDesignMode
[<SealedAttribute>]
type ForeignKey =  
    class
        inherit ScriptNameObjectBase
        interface ICreatable
        interface IDroppable
        interface IMarkForDrop
        interface IAlterable
        interface IRenamable
        interface IExtendedProperties
        interface IScriptable
        interface ISfcSupportsDesignMode
    end
public final class ForeignKey extends ScriptNameObjectBase implements ICreatable, IDroppable, IMarkForDrop, IAlterable, IRenamable, IExtendedProperties, IScriptable, ISfcSupportsDesignMode

O tipo ForeignKey expõe os membros a seguir.

Construtores

  Nome Descrição
Método público ForeignKey() () () () Initializes a new instance of the ForeignKey class.
Método público ForeignKey(Table, String) Initializes a new instance of the ForeignKey class on the specified table with the specified name.

Início

Propriedades

  Nome Descrição
Propriedade pública Columns Represents a collection of Column objects. Each Column object represents a column included in the foreign key.
Propriedade pública CreateDate Gets the date and time when the foreign key was created.
Propriedade pública DateLastModified Gets the date and time when the foreign key was last modified.
Propriedade pública DeleteAction Gets or sets the action taken when the row that is referenced by the foreign key is deleted.
Propriedade protegida ExecuteForScalar Obtém ou define o valor da propriedade Boolean que especifica se o objeto esta definido para a opção execute for scalar. (Herdado de SqlSmoObject.)
Propriedade pública ExtendedProperties Represents a collection of ExtendedProperty objects. Each ExtendedProperty object represents an extended property on the ForeignKey object.
Propriedade pública ID Gets the ID value that uniquely identifies the foreign key.
Propriedade pública IsChecked Gets or sets the Boolean property value that specifies whether the foreign key constraint was enabled without checking existing rows.
Propriedade pública IsEnabled Gets or sets the Boolean property value that specifies whether the foreign key is enabled.
Propriedade pública IsSystemNamed Gets the Boolean property value that specifies whether the foreign key is named by the system or by the user.
Propriedade protegida IsTouched Obtém o valor da propriedade Boolean que especifica se as propriedades do objeto foram atualizadas, mas ainda não foram persistidas no servidor. (Herdado de SqlSmoObject.)
Propriedade pública Name Gets or sets the name of the foreign key. (Substitui NamedSmoObject. . :: . .Name.)
Propriedade pública NotForReplication Gets the Boolean property value that specifies whether the foreign key is available for replication.
Propriedade protegida ObjectInSpace Obtém o valor da propriedade Boolean que especifica se o objeto existe em isolamento ou se está direta ou indiretamente conectado com a instância do SQL Server. (Herdado de SqlSmoObject.)
Propriedade pública Parent Gets or sets the Table object that is the parent of the ForeignKey object.
Propriedade pública Properties Obtém uma coleção de objetos Property que representam as propriedades do objeto. (Herdado de SqlSmoObject.)
Propriedade pública ReferencedKey Gets the primary key referenced by the foreign key.
Propriedade pública ReferencedTable Gets or sets the table that contains the primary key referenced by the foreign key.
Propriedade pública ReferencedTableSchema Gets or sets the table schema that contains the primary key referenced by the foreign key.
Propriedade protegida ScalarResult Obtém o resultado escalar do objeto referenciado. (Herdado de SqlSmoObject.)
Propriedade pública ScriptReferencedTable Gets or sets the Boolean value that specifies whether to script the table referenced by the foreign key.
Propriedade pública ScriptReferencedTableSchema Gets or sets the Boolean value that specifies whether to script the schema of the table referenced by the foreign key.
Propriedade pública State Gets the state of the referenced object. (Herdado de SmoObjectBase.)
Propriedade pública UpdateAction Gets or sets the Boolean property value that specifies whether the foreign key supports cascading updates.
Propriedade pública Urn Obtém o valor do endereço do URN (Uniform Resource Name) que identifica exclusivamente o objeto. (Herdado de SqlSmoObject.)
Propriedade pública UserData Gets or sets user-defined data associated with the referenced object. (Herdado de SmoObjectBase.)

Início

Métodos

  Nome Descrição
Método protegido AddDatabaseContext(StringCollection) Adiciona o contexto do banco de dados à coleção de consultas identificadas pelo parâmetro queries. (Herdado de SqlSmoObject.)
Método protegido AddDatabaseContext(StringCollection, ScriptingOptions) Adiciona o contexto de banco de dados à coleção de consultas identificadas pelo parâmetro queries e usando as opções de script especificadas. (Herdado de SqlSmoObject.)
Método público Alter Updates any ForeignKey object property changes on instance of SQL Server. 
Método protegido AlterImpl Ativa o evento alterado do objeto. (Herdado de SqlSmoObject.)
Método protegido AlterImplFinish Método chamado quando o evento alterado do objeto é concluído. (Herdado de SqlSmoObject.)
Método protegido AlterImplInit Método chamado quando o evento de alteração do objeto é inicializado. (Herdado de SqlSmoObject.)
Método protegido AlterImplWorker Chama os métodos Alter. (Herdado de SqlSmoObject.)
Método protegido AppendCommaText Appends text, optionally separated by a comma. (Herdado de ScriptNameObjectBase.)
Método protegido AppendWithCommaText Appends text, optionally separated by a comma. (Herdado de ScriptNameObjectBase.)
Método protegido AppendWithOption Appends text and option text separated from the main text with a “WITH” string and optionally separated by a comma. (Herdado de ScriptNameObjectBase.)
Método protegido AutoGenerateName Generates a name based on the object Guid. (Herdado de ScriptNameObjectBase.)
Método protegido BindDefaultImpl Associa os itens padrão identificados pelos parâmetros. (Herdado de SqlSmoObject.)
Método protegido BindRuleImpl Associa o esquema de regra à regra e às colunas identificadas pelos parâmetros. (Herdado de SqlSmoObject.)
Método protegido CheckCollation Verifica a ordem das opções de script pelo método de agrupamento identificado pelo parâmetro collationName. (Herdado de SqlSmoObject.)
Método protegido CheckObjectDirty Checks whether object has been modified and not persisted. (Herdado de ScriptNameObjectBase.)
Método protegido CheckObjectState() () () () Valida o estado do objeto referenciado. (Herdado de SqlSmoObject.)
Método protegido CheckObjectState(Boolean) Valida o estado do objeto referenciado com a opção de especificar que uma exceção será gerada se o objeto ainda não tiver sido criado. (Herdado de SqlSmoObject.)
Método protegido CheckObjectStateImpl Verifica o estado de um SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido CheckTextCorectness Checks text for correctness against the parameters. (Herdado de ScriptNameObjectBase.)
Método protegido CheckTextModeSupport Checks mode of support. (Herdado de ScriptNameObjectBase.)
Método protegido CheckVersion100 Verifica se a versão do SQL Server é SQL Server 2008. (Herdado de SqlSmoObject.)
Método protegido CheckVersion80 Verifica a validade do objeto no SQL Server 2000. (Herdado de SqlSmoObject.)
Método protegido CheckVersion80SP3 Verifica a validade do objeto no SQL Server 2000 SP3. (Herdado de SqlSmoObject.)
Método protegido CheckVersion90 Verifica a validade do objeto no SQL Server 2005. (Herdado de SqlSmoObject.)
Método protegido CheckVersionBelow90 Verifica se a versão do SQL Server é anterior ao SQL Server 2005. (Herdado de SqlSmoObject.)
Método protegido CleanObject Cleans the referenced object. (Herdado de ScriptNameObjectBase.)
Método público Create Creates a foreign key on the instance of SQL Server as defined by the ForeignKey object.
Método protegido CreateImpl Cria um objeto com as opções do script. (Herdado de SqlSmoObject.)
Método protegido CreateImplFinish Método chamado quando o evento de criação é concluído. (Herdado de SqlSmoObject.)
Método protegido CreateImplInit Método chamado quando o evento de criação é inicializado. (Herdado de SqlSmoObject.)
Método público Discover Descobre uma lista do tipo Object. (Herdado de SqlSmoObject.)
Método público Drop Drops the foreign key.
Método protegido DropImpl Remove um SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido DropImplWorker Chama os métodos de remoção. (Herdado de SqlSmoObject.)
Método protegido EnumScriptImpl Enumera scripts especificados pelo parâmetro so. (Herdado de SqlSmoObject.)
Método protegido EnumScriptImplWorker Chama os métodos que enumeram scripts especificados pelo parâmetro so. (Herdado de SqlSmoObject.)
Método protegido EnumScriptImplWorkerSOChanged Retorna uma cadeia de caracteres IEnumerable que descreve as opções de script de um objeto. (Herdado de SqlSmoObject.)
Método público Equals (Herdado de Object.)
Método protegido ExecuteNonQuery (Herdado de SqlSmoObject.)
Método protegido Finalize (Herdado de Object.)
Método protegido ForceTextModeOnTextBody Enforces text mode on the text body. (Herdado de ScriptNameObjectBase.)
Método protegido FormatSqlVariant Formata um objeto como tipo SqlVariant. (Herdado de SqlSmoObject.)
Método protegido GenerateDataSpaceFileStreamScript Gera um script para criar arquivo de dados. (Herdado de SqlSmoObject.)
Método protegido GenerateDataSpaceScript Gera um script para alocar espaço no arquivo de dados. (Herdado de SqlSmoObject.)
Método protegido GetBindDefaultScript Obtém o script que associa padrões especificados pelos parâmetros defSchema e defName. (Herdado de SqlSmoObject.)
Método protegido GetBindRuleScript Obtém o script que especifica as regras de associação. (Herdado de SqlSmoObject.)
Método protegido GetBoolParameter(StringBuilder, ScriptingOptions, String, String, Int32%) Atribui um parâmetro booliano do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetBoolParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) Atribui uma propriedade booliana do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetBraketNameForText Gets the bracket name. (Herdado de ScriptNameObjectBase.)
Método protegido GetDateTimeParameter Atribui a propriedade datetime do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetDateTimeParameterAsInt Atribuirá a propriedade datetime do SqlSmoObject como um valor inteiro se a propriedade datetime não for nula. (Herdado de SqlSmoObject.)
Método protegido GetDBName Obtém o nome do banco de dados associado ao objeto. (Herdado de SqlSmoObject.)
Método protegido GetEnumParameter Atribui uma propriedade de enumeração do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetFragOptionString Obtém um objeto FragmentationOption como um valor de cadeia de caracteres. (Herdado de SqlSmoObject.)
Método protegido GetGuidParameter Atribui uma propriedade Guid do SqlSmoObject. (Herdado de SqlSmoObject.)
Método público GetHashCode (Herdado de Object.)
Método protegido GetIsSystemNamed Gets a Boolean value that specifies whether the system is named. (Herdado de ScriptNameObjectBase.)
Método protegido GetIsTextDirty Determines whether the text value is consistent with stored value. (Herdado de ScriptNameObjectBase.)
Método protegido GetParameter(StringBuilder, ScriptingOptions, String, String, Int32%) Atribui um parâmetro do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) Atribui um parâmetro do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetPropValue Obtém um valor da propriedade do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetPropValueOptional Obtém um valor da propriedade do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetPropValueOptionalAllowNull Obtém um valor da propriedade do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetRealValue Obtém um valor da propriedade do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetScriptIncludeExists Gets the script including the test for existence of type being scripted. (Herdado de ScriptNameObjectBase.)
Método protegido GetScriptingOptionsForCreate Obtém ScriptingOptions para o objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetServerName Obtém o nome da instância do SQL Server à qual o objeto está associado. (Herdado de SqlSmoObject.)
Método protegido GetServerObject Obtém o servidor do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetSqlServerVersionName Obtém o nome da versão da instância do SQL Server à qual o objeto está associado. (Herdado de SqlSmoObject.)
Método protegido GetStringParameter(StringBuilder, ScriptingOptions, String, String, Int32%) Atribui um parâmetro de cadeia de caracteres do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetStringParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) Atribui um parâmetro de cadeia de caracteres do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetTextBody() () () () Returns the text body. (Herdado de ScriptNameObjectBase.)
Método protegido GetTextBody(Boolean) Returns the text body. (Herdado de ScriptNameObjectBase.)
Método protegido GetTextForScript(ScriptingOptions, Boolean, array<String> [] () [] []) Gets the text for scripting. (Herdado de ScriptNameObjectBase.)
Método protegido GetTextForScript(ScriptingOptions, Boolean, array<String> [] () [] [], Boolean) Gets the text of script object. (Herdado de ScriptNameObjectBase.)
Método protegido GetTextHeader Returns the text header. (Herdado de ScriptNameObjectBase.)
Método protegido GetTextMode Determines whether the script name is using text mode. (Herdado de ScriptNameObjectBase.)
Método protegido GetTextProperty(String) Gets the property as text. (Herdado de ScriptNameObjectBase.)
Método protegido GetTextProperty(String, ScriptingOptions) Gets the property as text. (Herdado de ScriptNameObjectBase.)
Método protegido GetTimeSpanParameterAsInt Atribui um parâmetro de período de tempo do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método público GetType (Herdado de Object.)
Método protegido GetUrnRecursive(StringBuilder) Atribui um objeto Urn do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido GetUrnRecursive(StringBuilder, UrnIdOption) Atribui um objeto Urn do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido ImplInitialize Inicializa os campos do objeto SqlSmoObject. (Herdado de SqlSmoObject.)
Método público Initialize() () () () Inicializa o objeto e força o carregamento das propriedades. (Herdado de SqlSmoObject.)
Método público Initialize(Boolean) Inicializa o objeto e força o carregamento das propriedades. (Herdado de SqlSmoObject.)
Método protegido IsObjectDirty Determines whether the referenced object is consistent with the stored object. (Herdado de ScriptNameObjectBase.)
Método protegido IsObjectInitialized Verifica se o objeto foi inicializado. (Herdado de SqlSmoObject.)
Método protegido IsObjectInSpace Verifica se o objeto está isolado ou conectado com a instância do SQL Server. (Herdado de SqlSmoObject.)
Método protegido IsVersion80SP3 Determina se a versão do SQL Server é SQL Server 2000 com SP3. (Herdado de SqlSmoObject.)
Método protegido IsVersion90AndAbove Determina se a versão do SQL Server é SQL Server 2005 ou posterior. (Herdado de SqlSmoObject.)
Método protegido MarkDropped Define o SqlSmoState como removido. (Herdado de SqlSmoObject.)
Método público MarkForDrop Marks the foreign key to be dropped the next time its parent Table object is altered by the Alter method.
Método protegido MarkForDropImpl Define o SqlSmoState como removido. (Herdado de SqlSmoObject.)
Método protegido MemberwiseClone (Herdado de Object.)
Método protegido PostAlter Método ativado depois da alteração do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido PostCreate Método ativado depois da criação do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido PostDrop Método ativado depois da remoção do SqlSmoObject. (Herdado de SqlSmoObject.)
Método público Refresh Refreshes the script name. (Herdado de ScriptNameObjectBase.)
Método público Rename Renames the foreign key to the specified new name.
Método protegido RenameImpl Identificado apenas para fins informativos. Sem suporte. A compatibilidade futura não está garantida. (Herdado de NamedSmoObject.)
Método protegido RenameImplWorker Identificado apenas para fins informativos. Sem suporte. A compatibilidade futura não está garantida. (Herdado de NamedSmoObject.)
Método público Script() () () () Generates a Transact-SQL script that can be used to re-create the foreign key.
Método público Script(ScriptingOptions) Generates a Transact-SQL script that can be used to re-create the foreign key as specified by the script options. 
Método protegido ScriptAlter Altera o SqlSmoObject de acordo com os parâmetros. (Herdado de SqlSmoObject.)
Método protegido ScriptAnsiQI Scripts the database object in ANSI text. (Herdado de ScriptNameObjectBase.)
Método protegido ScriptChangeOwner This method supports the SMO infrastructure and is not intended to be used directly from your code. (Herdado de NamedSmoObject.)
Método protegido ScriptCreate Altera o SqlSmoObject de acordo com os parâmetros. (Herdado de SqlSmoObject.)
Método protegido ScriptDdl Gera a InvalidSmoOperationException. (Herdado de SqlSmoObject.)
Método protegido ScriptDrop Gera a InvalidSmoOperationException. (Herdado de SqlSmoObject.)
Método protegido ScriptImpl() () () () Obtém uma coleção de scripts do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido ScriptImpl(ScriptingOptions) Obtém uma coleção de scripts do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido ScriptImplWorker Obtém uma coleção de scripts do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido ScriptInformativeHeaders Scripts the information headers. (Herdado de ScriptNameObjectBase.)
Método protegido ScriptOwner Alters the script owner authorization. (Herdado de NamedSmoObject.)
Método protegido ScriptRename This method supports the SMO infrastructure and is not intended to be used directly from your code. (Herdado de NamedSmoObject.)
Método protegido SetCollectionTextMode Sets the collection text mode. (Herdado de ScriptNameObjectBase.)
Método protegido SetIsSystemNamed Sets a Boolean value that specifies whether the system is named. (Herdado de ScriptNameObjectBase.)
Método protegido SetParentImpl Define o pai do SqlSmoObject como o parâmetro newParent. (Herdado de SqlSmoObject.)
Método protegido SetSchemaOwned Sets the schema owned value. (Herdado de NamedSmoObject.)
Método protegido SetTextBody Specifies the text body. (Herdado de ScriptNameObjectBase.)
Método protegido SetTextHeader Specifies the text header. (Herdado de ScriptNameObjectBase.)
Método protegido SetTextMode Specifies the text mode. (Herdado de ScriptNameObjectBase.)
Método protegido SwitchTextMode Switches the text mode. (Herdado de ScriptNameObjectBase.)
Método protegido ThrowIfTextIsDirtyForAlter Throws an exception of text has been modified and not persisted. (Herdado de ScriptNameObjectBase.)
Método público ToString Retorna um String que representa o objeto referenciado. (Herdado de SqlSmoObject.)
Método protegido TouchImpl Não implementado. (Herdado de SqlSmoObject.)
Método protegido UnbindDefaultImpl Desassocia as colunas padrão do SqlSmoObject. (Herdado de SqlSmoObject.)
Método protegido UnbindRuleImpl Desassocia as regras do SqlSmoObject. (Herdado de SqlSmoObject.)
Método público Validate Validates the state of an object. (Herdado de SmoObjectBase.)

Início

Eventos

  Nome Descrição
Evento público PropertyChanged Representa o evento que ocorre quando uma propriedade é alterada. (Herdado de SqlSmoObject.)
Evento público PropertyMetadataChanged Representa o evento que ocorre quando os metadados da propriedade são alterados. (Herdado de SqlSmoObject.)

Início

Campos

  Nome Descrição
Campo protegido m_ExtendedProperties Representa uma propriedade definida para estender as propriedades fornecidas por um SqlSmoObject. (Herdado de SqlSmoObject.)
Campo protegido singletonParent Representa o pai do singleton. (Herdado de SqlSmoObject.)

Início

Implementações de interfaces explícitas

  Nome Descrição
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .Discover Descobre quaisquer dependências. Não referencie esse membro diretamente no código. Ele dá suporte à infraestrutura do SQL Server. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .GetDomainRoot Retorna a raiz do domínio. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .GetParent Obtém o pai do objeto. Não referencie esse membro diretamente no código. Ele dá suporte à infraestrutura do SQL Server. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .GetPropertyType Obtém o tipo da propriedade especificada. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .GetPropertyValue Obtém o valor da propriedade especificada. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .GetUrn Obtém o Unified Resource Name do objeto. Não referencie esse membro diretamente no código. Ele dá suporte à infraestrutura do SQL Server. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .Resolve Obtém a instância que contém as informações sobre o objeto a partir do Unified Resource Name do objeto. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .SetObjectState Define o estado do objeto como o valor SfcObjectState especificado. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado IAlienObject. . :: . .SetPropertyValue Define o valor da propriedade. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasMétodo privado ISfcPropertyProvider. . :: . .GetPropertySet Obtém a referência da interface para o conjunto de propriedades deste objeto. Não referencie esse membro diretamente no código. Ele dá suporte à infraestrutura do SQL Server. (Herdado de SqlSmoObject.)
Implementações de interfaces explícitasPropriedade privada ISfcSupportsDesignMode. . :: . .IsDesignMode Gets a Boolean value that indicates whether the object supports design mode. Identificado apenas para fins informativos. Sem suporte. A compatibilidade futura não está garantida.

Início

Comentários

To get ForeignKey object properties, users can be a member of the public fixed server role.

To set ForeignKey object properties, users must have ALTER permission on the parent table or be a member of the db_owner fixed database role.

To create or drop a foreign key, users must have ALTER permission on the parent table or be a member of the db_owner fixed database role.

Thread Safety

Qualquer membro público estático (Compartilhado no Microsoft Visual Basic) desse tipo é seguro para operações multi-threaded. Não há garantia de que qualquer membro de instância seja seguro para threads.

Segurança de thread

Qualquer membro público static (Shared no Visual Basic) desse tipo é seguro para threads. Não há garantia de que qualquer membro de instância seja seguro para threads.