1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
|
<Type Name="MethodAccessException" FullName="System.MethodAccessException" FullNameSP="System_MethodAccessException" Maintainer="ecma">
<TypeSignature Language="ILASM" Value=".class public serializable MethodAccessException extends System.MemberAccessException" />
<TypeSignature Language="C#" Value="public class MethodAccessException : System.MemberAccessException" />
<MemberOfLibrary>RuntimeInfrastructure</MemberOfLibrary>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
</AssemblyInfo>
<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
<Docs>
<summary>
<para>Represents the error that occurs when there is an
attempt to access a method outside the scope in which access is permitted.</para>
</summary>
<remarks>
<para>
<block subset="none" type="note">This exception is
thrown when the access level of a method in a class library is changed, and one
or more assemblies referencing the library have not been recompiled. This exception is also thrown when an attempt to invoke a
method via reflection fails because the caller does not have the required
permissions.</block>
</para>
</remarks>
<example>
<para>The following example demonstrates a scenario under
which <see cref="T:System.MethodAccessException" />
is thrown.</para>
<para>The following code contains a class with a public method (MyMethod). This
class is compiled into a class library.</para>
<code lang="C#">using System;
namespace TestNameSpace
{
public class Class1
{
public Class1()
{
Console.WriteLine ("Constructing with public method.");
}
public void MyMethod ()
{
Console.WriteLine ("Calling MyMethod.");
}
}
}
</code>
<para>The following code references the class library above, and accesses
TestNameSpace.Class1.MyMethod. This code is compiled into an application.</para>
<code lang="C#">using System;
using TestNameSpace;
class AppTest
{
public static void Main()
{
Class1 test = new Class1();
test.MyMethod();
}
}
</code>
<para>The output of the application is</para>
<c>
<para>Constructing with public method.</para>
<para>Calling MyMethod.</para>
</c>
<para>The code for the class library is changed and recompiled so that TestNameSpace.Class1.MyMethod is no longer public. The following code changes
MyMethod from public to private. </para>
<code lang="C#">using System;
namespace TestNameSpace
{
public class Class1
{
public Class1()
{
Console.WriteLine ("Constructing with private method.");
}
private void MyMethod ()
{
Console.WriteLine ("Calling MyMethod.");
}
}
}
</code>
<para>When the application is executed again without being recompiled, the output
is</para>
<c>
<para>Unhandled Exception: System.MethodAccessException:
TestNameSpace.Class1.MyMethod()</para>
<para> at AppTest.Main()</para>
</c>
</example>
</Docs>
<Base>
<BaseTypeName>System.MemberAccessException</BaseTypeName>
</Base>
<Interfaces />
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()" />
<MemberSignature Language="C#" Value="public MethodAccessException ();" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters />
<Docs>
<summary>
<para>Constructs and initializes a new instance of the
<see cref="T:System.MethodAccessException" />
class.</para>
</summary>
<remarks>
<para>This constructor initializes the <see cref="!:System.MethodAccessException.Message" />
property of the new instance to a system-supplied message that describes the
error, such as "Attempt to access the method failed." This message takes into
account the current system culture.</para>
<para>The <see cref="!:System.MethodAccessException.InnerException" /> property of the new instance is
initialized to <see langword="null" /> .</para>
</remarks>
</Docs>
<Excluded>0</Excluded>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)" />
<MemberSignature Language="C#" Value="public MethodAccessException (string message);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="message" Type="System.String" />
</Parameters>
<Docs>
<summary>
<para>Constructs and initializes a new instance of the <see cref="T:System.MethodAccessException" /> class with
a specified error message.</para>
</summary>
<param name="message">A <see cref="T:System.String" /> that describes the error. The content of <paramref name="message" /> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
<remarks>
<para>This constructor initializes the <see cref="!:System.MethodAccessException.Message" />
property of the new instance using <paramref name="message" />. If <paramref name="message" /> is
<see langword="null" />, the <see cref="!:System.MethodAccessException.Message" /> property is initialized to the
system-supplied message provided by the constructor that takes no
arguments. </para>
<para> The <see cref="!:System.MethodAccessException.InnerException" /> property of the
new instance is initialized to <see langword="null" />.</para>
</remarks>
</Docs>
<Excluded>0</Excluded>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception inner)" />
<MemberSignature Language="C#" Value="public MethodAccessException (string message, Exception innerException);" />
<MemberType>Constructor</MemberType>
<ReturnValue />
<Parameters>
<Parameter Name="message" Type="System.String" />
<Parameter Name="innerException" Type="System.Exception" />
</Parameters>
<Docs>
<summary>
<para>Constructs and initializes a new instance of the <see cref="T:System.MethodAccessException" /> class with a specified error
message and a reference to the inner exception that is the cause of the current
exception.</para>
</summary>
<param name="message">A <see cref="T:System.String" /> that describes the error. The content of <paramref name="message" /> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
<param name="inner">An instance of <see cref="T:System.Exception" /> that is the cause of the current exception. If <paramref name="inner" /> is not a <see langword="null" /> reference, the current exception was raised in a catch block handling <paramref name="inner" /> .</param>
<remarks>
<para>This constructor initializes the <see cref="!:System.MethodAccessException.Message" /> property of the new instance
using <paramref name="message" /> and the <see cref="!:System.MethodAccessException.InnerException" /> property using
<paramref name="inner" />. If <paramref name="message" /> is <see langword="null" />,
the <see cref="!:System.MethodAccessException.Message" /> property is initialized to the system-supplied message
provided by the constructor that takes no arguments.</para>
<block subset="none" type="note">For more information on inner
exceptions, see <see cref="P:System.Exception.InnerException" />.</block>
</remarks>
<param name="innerException">To be added.</param>
</Docs>
<Excluded>0</Excluded>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected MethodAccessException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" />
<MemberType>Constructor</MemberType>
<Parameters>
<Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" />
<Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" />
</Parameters>
<Docs>
<summary>To be added.</summary>
<param name="info">To be added.</param>
<param name="context">To be added.</param>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
<TypeExcluded>0</TypeExcluded>
</Type>
|