Partilhar via


Método PrivateObject.Invoke (String, BindingFlags, array<Type[], array<Object[], CultureInfo, array<Type )

Usado para acessar membros genéricos de um objeto particular.

Namespace:  Microsoft.VisualStudio.TestTools.UnitTesting
Assembly:  Microsoft.VisualStudio.QualityTools.UnitTestFramework (em Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)

Sintaxe

'Declaração
Public Function Invoke ( _
    name As String, _
    bindingFlags As BindingFlags, _
    parameterTypes As Type(), _
    args As Object(), _
    culture As CultureInfo, _
    typeArguments As Type() _
) As Object
public Object Invoke(
    string name,
    BindingFlags bindingFlags,
    Type[] parameterTypes,
    Object[] args,
    CultureInfo culture,
    Type[] typeArguments
)
public:
Object^ Invoke(
    String^ name, 
    BindingFlags bindingFlags, 
    array<Type^>^ parameterTypes, 
    array<Object^>^ args, 
    CultureInfo^ culture, 
    array<Type^>^ typeArguments
)
member Invoke : 
        name:string * 
        bindingFlags:BindingFlags * 
        parameterTypes:Type[] * 
        args:Object[] * 
        culture:CultureInfo * 
        typeArguments:Type[] -> Object 
public function Invoke(
    name : String, 
    bindingFlags : BindingFlags, 
    parameterTypes : Type[], 
    args : Object[], 
    culture : CultureInfo, 
    typeArguments : Type[]
) : Object

Parâmetros

  • parameterTypes
    Tipo: array<System.Type[]
    Uma matriz de Type os objetos que representa o número, a ordem e o tipo dos parâmetros para o método de acesso.
    - ou -
    Uma matriz vazia do tipo Type (ou seja, digite os tipos de [] = novo Type[0]) para obter um método que leva sem parâmetros.
  • args
    Tipo: array<System.Object[]
    Os argumentos que o membro requer.
  • culture
    Tipo: System.Globalization.CultureInfo
    O CultureInfo objeto que representa a localidade de globalização para usar, que pode ser necessária para conversões específicas de localidade, como converter uma seqüência numérica para Double.
    - ou -
    nulluma referência nula (Nothing no Visual Basic) Para usar o thread atual CultureInfo.
  • typeArguments
    Tipo: array<System.Type[]
    Uma matriz de argumentos de tipo para usar ao chamar um método genérico.

Valor de retorno

Tipo: System.Object

Exemplos

O código a seguir está no aplicativo que você está testando. Ele contém um método genérico que você deseja testar, TestThisMethod<T>.

internal class Customer
{
    internal T TestThisMethod<T>(T value)
    {
        return (value);
    }

    public Customer()
    {
    }
}

O código a seguir é um método de teste em seu teste de unidade. Ele mostra como passar um argumento de tipo em final Type[] parâmetro, quando ele invoca o método que você está testando:

[TestMethod]
public void TestSetCustomerId()
{
    PrivateObject po = new PrivateObject(typeof(Customer));

    int id = 100;

    int actual = (int)po.Invoke("TestThisMethod", new Type[] { typeof(int) }, new Object[] { id }, new Type[] { typeof(int) });

    Assert.AreEqual(actual, id);
}

Segurança do .NET Framework

Consulte também

Referência

PrivateObject Classe

Sobrecargas Invoke

Namespace Microsoft.VisualStudio.TestTools.UnitTesting