LogicalMethodInfo.DeclaringType Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient la classe déclarant la méthode représentée par LogicalMethodInfo en cours.
public:
property Type ^ DeclaringType { Type ^ get(); };
public Type DeclaringType { get; }
member this.DeclaringType : Type
Public ReadOnly Property DeclaringType As Type
Valeur de propriété
Type de la classe déclarant la méthode représentée par LogicalMethodInfo.
Exemples
#using <System.Web.Services.dll>
using namespace System;
using namespace System::Reflection;
using namespace System::Web::Services::Protocols;
public ref class MyService
{
public:
int Add( int xValue, int yValue )
{
return (xValue + yValue);
}
};
int main()
{
Type^ myType = MyService::typeid;
MethodInfo^ myMethodInfo = myType->GetMethod( "Add" );
LogicalMethodInfo^ myLogicalMethodInfo = gcnew LogicalMethodInfo( myMethodInfo );
Console::WriteLine( "\nPrinting properties of method : {0}\n", myLogicalMethodInfo );
Console::WriteLine( "\nThe declaring type of the method {0} is :\n", myLogicalMethodInfo->Name );
Console::WriteLine( "\t {0}", myLogicalMethodInfo->DeclaringType );
Console::WriteLine( "\nThe parameters of the method {0} are :\n", myLogicalMethodInfo->Name );
array<ParameterInfo^>^myParameters = myLogicalMethodInfo->Parameters;
for ( int i = 0; i < myParameters->Length; i++ )
{
Console::WriteLine( "\t {0}", String::Concat( myParameters[ i ]->Name, " : ", myParameters[ i ]->ParameterType ) );
}
Console::WriteLine( "\nThe return type of the method {0} is :\n", myLogicalMethodInfo->Name );
Console::WriteLine( "\t {0}", myLogicalMethodInfo->ReturnType );
MyService^ service = gcnew MyService;
Console::WriteLine( "\nInvoking the method {0}\n", myLogicalMethodInfo->Name );
array<Object^>^values = gcnew array<Object^>(2);
values[ 0 ] = 10;
values[ 1 ] = 10;
Console::WriteLine( "\tThe sum of 10 and 10 is : {0}", myLogicalMethodInfo->Invoke( service, values ) );
}
using System;
using System.Reflection;
using System.Security.Permissions;
using System.Web.Services.Protocols;
public class MyService
{
public int Add(int xValue, int yValue)
{
return (xValue + yValue);
}
}
class LogicalMethodInfo_Constructor
{
[PermissionSetAttribute(SecurityAction.Demand, Name="FullTrust")]
static void Run()
{
Type myType = typeof(MyService);
MethodInfo myMethodInfo = myType.GetMethod("Add");
LogicalMethodInfo myLogicalMethodInfo =
new LogicalMethodInfo(myMethodInfo);
Console.WriteLine("\nPrinting properties of method : {0}\n",
myLogicalMethodInfo.ToString());
Console.WriteLine("\nThe declaring type of the method {0} is :\n",
myLogicalMethodInfo.Name);
Console.WriteLine("\t" + myLogicalMethodInfo.DeclaringType);
Console.WriteLine("\nThe parameters of the method {0} are :\n",
myLogicalMethodInfo.Name);
ParameterInfo[] myParameters = myLogicalMethodInfo.Parameters;
for(int i = 0; i < myParameters.Length; i++)
{
Console.WriteLine("\t" + myParameters[i].Name +
" : " + myParameters[i].ParameterType);
}
Console.WriteLine("\nThe return type of the method {0} is :\n",
myLogicalMethodInfo.Name);
Console.WriteLine("\t" + myLogicalMethodInfo.ReturnType);
MyService service = new MyService();
Console.WriteLine("\nInvoking the method {0}\n",
myLogicalMethodInfo.Name);
Console.WriteLine("\tThe sum of 10 and 10 is : {0}",
myLogicalMethodInfo.Invoke(service,
new object[] {10, 10}));
}
static void Main()
{
Run();
}
}
Imports System.Reflection
Imports System.Security.Permissions
Imports System.Web.Services.Protocols
Public Class MyService
Public Function Add(xValue As Integer, yValue As Integer) As Integer
Return xValue + yValue
End Function 'Add
End Class
Class LogicalMethodInfo_Constructor
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Shared Sub Run()
Dim myType As Type = GetType(MyService)
Dim myMethodInfo As MethodInfo = myType.GetMethod("Add")
Dim myLogicalMethodInfo As New LogicalMethodInfo(myMethodInfo)
Console.WriteLine(ControlChars.NewLine + "Printing properties of method : {0}" + _
ControlChars.NewLine, myLogicalMethodInfo.ToString())
Console.WriteLine(ControlChars.NewLine + "The declaring type of the method {0} is :" + _
ControlChars.NewLine, myLogicalMethodInfo.Name)
Console.WriteLine(ControlChars.Tab + myLogicalMethodInfo.DeclaringType.ToString())
Console.WriteLine(ControlChars.NewLine + "The parameters of the method {0} are :" + _
ControlChars.NewLine, myLogicalMethodInfo.Name)
Dim myParameters As ParameterInfo() = myLogicalMethodInfo.Parameters
Dim i As Integer
For i = 0 To myParameters.Length - 1
Console.WriteLine(ControlChars.Tab + myParameters(i).Name + " : " + _
myParameters(i).ParameterType.ToString())
Next i
Console.WriteLine(ControlChars.NewLine + "The return type of the method {0} is :" + _
ControlChars.NewLine, myLogicalMethodInfo.Name)
Console.WriteLine(ControlChars.Tab + myLogicalMethodInfo.ReturnType.ToString())
Dim service As New MyService()
Console.WriteLine(ControlChars.NewLine + "Invoking the method {0}" + _
ControlChars.NewLine, myLogicalMethodInfo.Name)
Console.WriteLine(ControlChars.Tab + "The sum of 10 and 10 is : {0}", _
myLogicalMethodInfo.Invoke(service, New Object() {10, 10}))
End Sub
Shared Sub Main()
Run()
End Sub
End Class
Remarques
La DeclaringType propriété récupère une référence à un Type pour le type qui déclare ce membre. Un membre d’une classe (ou d’une interface) est déclaré ou hérité d’une classe de base (ou d’une interface). Le retourné Type peut ne pas être identique à celui de la Type classe qui implémente le service Web XML (si cette classe dérive d’une classe de base et que la méthode représentée par cette classe est déclarée dans cette classe de base, le Type retourné est la classe de base).