PrivateObject.Invoke - метод (String, BindingFlags, array<Type[], array<Object[], CultureInfo, array<Type )
Используется для доступа к универсальным элементам закрытого объекта.
Пространство имен: Microsoft.VisualStudio.TestTools.UnitTesting
Сборка: Microsoft.VisualStudio.QualityTools.UnitTestFramework (в Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll)
Синтаксис
'Декларация
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
Параметры
- name
Тип: System.String
Имя элемента, который предполагается вызвать.
- bindingFlags
Тип: System.Reflection.BindingFlags
- parameterTypes
Тип: array<System.Type[]
Массив объектов типа Type, представляющий число, порядок и тип параметров метода, к которому необходимо получить доступ,
-или-
Пустой массив объектов типа Type (то есть, Type[] types = new Type[0]), если требуется получить метод, у которого нет параметров.
- args
Тип: array<System.Object[]
Любые аргументы, необходимые данному элементу.
- culture
Тип: System.Globalization.CultureInfo
Объект CultureInfo, представляющий используемые языковые стандарты глобализации, которые могут понадобиться для выполнения преобразований, зависящих от языковых стандартов, например, для преобразования числа из формата String в формат Double,
-или-
nullссылка NULL (Nothing в Visual Basic) , для использования объекта CultureInfo текущего потока.
- typeArguments
Тип: array<System.Type[]
Массив аргументов типа для использования при вызове универсального метода.
Возвращаемое значение
Тип: System.Object
Примеры
Следующий код присутствует в тестируемом приложении.Он содержит универсальный метод TestThisMethod<T>, который требуется тестировать.
internal class Customer
{
internal T TestThisMethod<T>(T value)
{
return (value);
}
public Customer()
{
}
}
Следующий код ― это метод теста в вашем модульном тесте:Он показывает, как передавать аргументы типа в конечный параметр Type[] при вызове тестируемого метода:
[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);
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.VisualStudio.TestTools.UnitTesting - пространство имен