Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
Esta documentação foi arquivada e não está sendo atualizada.

Propriedade Type.DefaultBinder

Obtém uma referência ao fichário padrão, que implementa regras internas para selecionar os membros apropriados a ser chamado por InvokeMember.

Namespace:  System
Assembly:  mscorlib (em mscorlib.dll)

public static Binder DefaultBinder { get; }

Valor de propriedade

Tipo: System.Reflection.Binder
Uma referência ao fichário padrão usado pelo sistema.

O fichário padrão fornecido com o common linguagem tempo de execução é aplicável em todas, exceto as circunstâncias mais especializadas.Se você precisar de um fichário que segue regras que diferem do fichário padrão fornecido, definir um tipo derivado de Binder classe e passar uma instância desse tipo usando o binder parâmetro de um a InvokeMember sobrecargas.

As regras de acessibilidade do common type sistema de modelos de reflexão.Por exemplo, se o chamador estiver no mesmo assembly, o chamador não precisa permissões de acesso especiais para membros internos.Caso contrário, o chamador precisa ReflectionPermission. Isso é consistente com a pesquisa de membros protegidos, particulares e assim por diante.

O princípio geral é que ChangeType Execute somente alargamento conversões, que nunca perdem dados. Um exemplo de uma conversão de expansão está convertendo um valor que é um inteiro com sinal com sinal de 32 bit para um valor que é um inteiro com sinal com sinal de 64 bit.Isso se distingue de uma conversão de restrição, poderá perder dados.Um exemplo de uma conversão de restrição está convertendo um inteiro com sinal com sinal de 64 bit para um inteiro com sinal com sinal de 32 bit.

A tabela a seguir lista as conversões suportadas pelo fichário padrão.

Tipo de fonte

Tipo de destino

Qualquer tipo

Seu tipo de base.

Qualquer tipo

A interface que ela implementa.

Char

Unt16, UInt32, Int32, UInt64, Int64, único, duplo

Byte

Char, Unt16, Int16, UInt32, Int32, UInt64, Int64, único, duplo

SByte

Int16, Int32, Int64, único, duplo

UInt16

UInt32, Int32, UInt64, Int64, único, duplo

Int16

Int32, Int64, único, duplo

UInt32

UInt64, Int64, único, duplo

Int32

Int64, Single, dupla

UInt64

Único, duplo

Int64

Único, duplo

Single

Double

Sem referência

Por referência.

O exemplo a seguir obtém o fichário padrão do DefaultBinder propriedade e chama um membro de MyClass, passando o DefaultBinder valor sistema autônomo um parâmetro para InvokeMember.

using System;
using System.Reflection;

publicclass MyDefaultBinderSample
{
    publicstaticvoid Main()
    {
        try
        {
            Binder defaultBinder = Type.DefaultBinder;
            MyClass myClass = new MyClass();
            // Invoke the HelloWorld method of MyClass.
            myClass.GetType().InvokeMember("HelloWorld", BindingFlags.InvokeMethod,
                defaultBinder, myClass, new object [] {});
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception :" + e.Message);
        }
    }	

    class MyClass
    {
        publicvoid HelloWorld()
        {
            Console.WriteLine("Hello World");
        }	
    }
}


import System.*;
import System.Reflection.*;

public class MyDefaultBinderSample
{
    public static void main(String[] args)
    {
        try {
            Binder defaultBinder = Type.get_DefaultBinder();
            MyClass myClass = new MyClass();
            // Invoke the HelloWorld method of MyClass.
            myClass.GetType().InvokeMember("HelloWorld",
                BindingFlags.InvokeMethod, defaultBinder, myClass,
                new Object[] {});
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception :" + e.get_Message());
        }
    } //main

    static class MyClass
    {
        public void HelloWorld()
        {
            Console.WriteLine("Hello World");
        } //HelloWorld
    } //MyClass
} //MyDefaultBinderSample


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatível com: 3.5, 2.0, 1.0

XNA Framework

Compatível com: , 1.0
Mostrar: