Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft einen Wert ab, der angibt, ob die Eigenschaft gelesen werden kann.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public MustOverride ReadOnly Property CanRead As Boolean
'Usage
Dim instance As PropertyInfo
Dim value As Boolean
value = instance.CanRead
public abstract bool CanRead { get; }
public:
virtual property bool CanRead {
bool get () abstract;
}
/** @property */
public abstract boolean get_CanRead ()
public abstract function get CanRead () : boolean
Eigenschaftenwert
true, wenn dieses Objekt gelesen werden kann, andernfalls false.
Hinweise
Wenn die Eigenschaft über keinen get-Accessor verfügt, kann sie nicht gelesen werden.
Um die CanRead-Eigenschaft abzurufen, rufen Sie zunächst den Type der Klasse ab. Über Type rufen Sie PropertyInfo ab. Aus PropertyInfo rufen Sie den CanRead-Wert ab.
Beispiel
Im folgenden Beispiel werden zwei Eigenschaften definiert. Die erste Eigenschaft ist lesbar, daher ist die CanRead-Eigenschaft true. Die zweite Eigenschaft ist nicht lesbar (es ist kein get-Accessor vorhanden), und die CanRead-Eigenschaft ist daher false.
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
' Define one readable property and one not readable.
Public Class Mypropertya
Private myCaption As String = "A Default caption"
Public Property Caption() As String
Get
Return myCaption
End Get
Set(ByVal Value As String)
If myCaption <> value Then
myCaption = value
End If
End Set
End Property
End Class
Public Class Mypropertyb
Private myCaption As String = "B Default caption"
Public WriteOnly Property Caption() As String
Set(ByVal Value As String)
If myCaption <> value Then
myCaption = value
End If
End Set
End Property
End Class
Class Mypropertyinfo
Public Shared Function Main() As Integer
Console.WriteLine(ControlChars.CrLf & "Reflection.PropertyInfo")
' Define two properties.
Dim Mypropertya As New Mypropertya()
Dim Mypropertyb As New Mypropertyb()
Console.Write(ControlChars.Cr & "Mypropertya.Caption = " & _
Mypropertya.Caption)
' Mypropertyb.Caption cannot be read because
' there is no get accessor.
' Get the type and PropertyInfo.
Dim MyTypea As Type = Type.GetType("Mypropertya")
Dim Mypropertyinfoa As PropertyInfo = MyTypea.GetProperty("Caption")
Dim MyTypeb As Type = Type.GetType("Mypropertyb")
Dim Mypropertyinfob As PropertyInfo = MyTypeb.GetProperty("Caption")
' Get and display the CanRead property.
Console.Write(ControlChars.CrLf & "CanRead a - " & _
Mypropertyinfoa.CanRead)
Console.Write(ControlChars.CrLf & "CanRead b - " & _
Mypropertyinfob.CanRead)
Return 0
End Function
End Class
using System;
using System.Reflection;
// Define one readable property and one not readable.
public class Mypropertya
{
private string caption = "A Default caption";
public string Caption
{
get{return caption;}
set {if(caption!=value) {caption = value;}
}
}
}
public class Mypropertyb
{
private string caption = "B Default caption";
public string Caption
{
set{if(caption!=value) {caption = value;}
}
}
}
class Mypropertyinfo
{
public static int Main()
{
Console.WriteLine("\nReflection.PropertyInfo");
// Define two properties.
Mypropertya Mypropertya = new Mypropertya();
Mypropertyb Mypropertyb = new Mypropertyb();
Console.Write("\nMypropertya.Caption = " + Mypropertya.Caption);
// Mypropertyb.Caption cannot be read, because
// there is no get accessor.
// Get the type and PropertyInfo.
Type MyTypea = Type.GetType("Mypropertya");
PropertyInfo Mypropertyinfoa = MyTypea.GetProperty("Caption");
Type MyTypeb = Type.GetType("Mypropertyb");
PropertyInfo Mypropertyinfob = MyTypeb.GetProperty("Caption");
// Get and display the CanRead property.
Console.Write("\nCanRead a - " + Mypropertyinfoa.CanRead);
Console.Write("\nCanRead b - " + Mypropertyinfob.CanRead);
return 0;
}
}
using namespace System;
using namespace System::Reflection;
// Define one readable property and one not readable.
public ref class Mypropertya
{
private:
String^ caption;
public:
Mypropertya()
: caption( "A Default caption" )
{}
property String^ Caption
{
String^ get()
{
return caption;
}
void set( String^ value )
{
if ( caption != value )
{
caption = value;
}
}
}
};
public ref class Mypropertyb
{
private:
String^ caption;
public:
Mypropertyb()
: caption( "B Default caption" )
{}
property String^ Caption
{
void set( String^ value )
{
if ( caption != value )
{
caption = value;
}
}
}
};
int main()
{
Console::WriteLine( "\nReflection.PropertyInfo" );
// Define two properties.
Mypropertya^ mypropertya = gcnew Mypropertya;
Mypropertyb^ mypropertyb = gcnew Mypropertyb;
Console::Write( "\nMypropertya->Caption = {0}", mypropertya->Caption );
// Mypropertyb.Caption cannot be read, because
// there is no get accessor.
// Get the type and PropertyInfo.
Type^ MyTypea = Type::GetType( "Mypropertya" );
PropertyInfo^ Mypropertyinfoa = MyTypea->GetProperty( "Caption" );
Type^ MyTypeb = Type::GetType( "Mypropertyb" );
PropertyInfo^ Mypropertyinfob = MyTypeb->GetProperty( "Caption" );
// Get and display the CanRead property.
Console::Write( "\nCanRead a - {0}", Mypropertyinfoa->CanRead );
Console::Write( "\nCanRead b - {0}", Mypropertyinfob->CanRead );
return 0;
}
import System.*;
import System.Reflection.*;
// Define one readable property and one not readable.
public class MyPropertyA
{
private String caption = "A Default caption";
/** @property
*/
public String get_Caption()
{
return caption ;
} //get_Caption
/** @property
*/
public void set_Caption (String value)
{
if (caption != value) {
caption = value;
}
} //set_Caption
} //MyPropertyA
public class MyPropertyB
{
private String caption = "B Default caption";
/** @property
*/
public void set_Caption (String value)
{
if ( caption != value ) {
caption = value;
}
} //set_Caption
} //MyPropertyB
class MyPropertyInfo
{
public static void main(String[] args)
{
Console.WriteLine("\nReflection.PropertyInfo");
// Define two properties.
MyPropertyA myPropertyA = new MyPropertyA();
MyPropertyB myPropertyB = new MyPropertyB();
Console.Write(("\nMyPropertyA.Caption = "
+ myPropertyA.get_Caption()));
// MyPropertyB.Caption cannot be read, because
// there is no get accessor.
// Get the type and PropertyInfo.
Type myTypeA = Type.GetType("MyPropertyA");
PropertyInfo myPropertyInfoA = myTypeA.GetProperty("Caption");
Type myTypeB = Type.GetType("MyPropertyB");
PropertyInfo myPropertyInfoB = myTypeB.GetProperty("Caption");
// Get and display the CanRead property.
Console.Write(("\nCanRead A - "
+ System.Convert.ToString(myPropertyInfoA.get_CanRead())));
Console.Write(("\nCanRead B - "
+ System.Convert.ToString(myPropertyInfoB.get_CanRead())));
} //main
} //MyPropertyInfo
import System;
import System.Reflection;
//Make two properties, one readable and on not readable
public class Mypropertya
{
private var caption : String = "A Default caption";
public function get Caption() : String {
return caption;
}
public function set Caption(value:String)
{
if(caption!=value) {caption = value;}
}
}
public class Mypropertyb
{
private var caption : String = "B Default caption";
public function set Caption(value:String) {
if(caption!=value) {caption = value;}
}
}
class Mypropertyinfo
{
public static function Main() : void
{
Console.WriteLine("\nReflection.PropertyInfo");
//Build two properties
var mypropertya : Mypropertya = new Mypropertya();
var mypropertyb : Mypropertyb = new Mypropertyb();
Console.Write("\nmypropertya.Caption = " + mypropertya.Caption);
//Note: Mypropertyb.Caption cannot be read as
// there is no get accessor
//Get the type and PropertyInfo
var MyTypea : Type = Type.GetType("Mypropertya");
var Mypropertyinfoa : PropertyInfo = MyTypea.GetProperty("Caption");
var MyTypeb : Type = Type.GetType("Mypropertyb");
var Mypropertyinfob : PropertyInfo = MyTypeb.GetProperty("Caption");
//Get and display the CanRead property
Console.Write("\nCanRead a - " + Mypropertyinfoa.CanRead);
Console.Write("\nCanRead b - " + Mypropertyinfob.CanRead);
}
}
Mypropertyinfo.Main();
/*
Produces the following output
Reflection.PropertyInfo
Mypropertya.Caption = A Default caption
CanRead a - True
CanRead b - False
*/
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
PropertyInfo-Klasse
PropertyInfo-Member
System.Reflection-Namespace