PropertyInfo.CanWrite PropertyInfo.CanWrite PropertyInfo.CanWrite PropertyInfo.CanWrite Property

Definition

Ruft einen Wert ab, der angibt, ob in die Eigenschaft geschrieben werden kann.Gets a value indicating whether the property can be written to.

public:
 abstract property bool CanWrite { bool get(); };
public abstract bool CanWrite { get; }
member this.CanWrite : bool
Public MustOverride ReadOnly Property CanWrite As Boolean

Eigenschaftswert

true, wenn in diese Eigenschaft geschrieben werden kann, andernfalls false.true if this property can be written to; otherwise, false.

Implementiert

Beispiele

Das folgende Beispiel definiert zwei Eigenschaften.The following example defines two properties. Die erste Eigenschaft nicht schreibgeschützt ist und die CanWrite Eigenschaft true.The first property is writable and the CanWrite property is true. Die zweite Eigenschaft kann nicht geschrieben (es gibt keine set Accessor), und die CanWrite -Eigenschaft ist false.The second property is not writable (there is no set accessor), and the CanWrite property is false.

using namespace System;
using namespace System::Reflection;

// Define one writable property and one not writable.
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 
   {
      String^ get()
      {
         return caption;
      }

   }

};

int main()
{
   Console::WriteLine( "\nReflection.PropertyInfo" );
   
   // Define two properties.
   Mypropertya^ mypropertya = gcnew Mypropertya;
   Mypropertyb^ mypropertyb = gcnew Mypropertyb;
   
   // Read and display the property.
   Console::Write( "\nMypropertya->Caption = {0}", mypropertya->Caption );
   Console::Write( "\nMypropertyb->Caption = {0}", mypropertyb->Caption );
   
   // Write to the property.
   mypropertya->Caption = "A- No Change";
   
   // Mypropertyb.Caption cannot be written to because
   // there is no set accessor.
   // Read and display the property.
   Console::Write( "\nMypropertya->Caption = {0}", mypropertya->Caption );
   Console::Write( "\nMypropertyb->Caption = {0}", mypropertyb->Caption );
   
   // 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 CanWrite property.
   Console::Write( "\nCanWrite a - {0}", Mypropertyinfoa->CanWrite );
   Console::Write( "\nCanWrite b - {0}", Mypropertyinfob->CanWrite );
   return 0;
}

using System;
using System.Reflection;
 
 // Define one writable property and one not writable.
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
    {
        get{return caption;}
    }
}
  
class Mypropertyinfo
{
    public static int Main()
    {
        Console.WriteLine("\nReflection.PropertyInfo");
  
        // Define two properties.
        Mypropertya Mypropertya = new Mypropertya();
        Mypropertyb Mypropertyb = new Mypropertyb();
  
        // Read and display the property.
        Console.Write("\nMypropertya.Caption = " + Mypropertya.Caption);
        Console.Write("\nMypropertyb.Caption = " + Mypropertyb.Caption);
  
        // Write to the property.
        Mypropertya.Caption = "A- No Change";
        // Mypropertyb.Caption cannot be written to because
        // there is no set accessor.
  
        // Read and display the property.
        Console.Write("\nMypropertya.Caption = " + Mypropertya.Caption);
        Console.Write ("\nMypropertyb.Caption = " + Mypropertyb.Caption);
  
        // 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 CanWrite property.
      
        Console.Write("\nCanWrite a - " + Mypropertyinfoa.CanWrite);
      
        Console.Write("\nCanWrite b - " + Mypropertyinfob.CanWrite);
  
        return 0;
    }
}
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

' Define one writable property and one not writable.
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 ReadOnly Property Caption() As String
        Get
            Return myCaption
        End Get
    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()

        ' Read and display the property.
        Console.Write(ControlChars.CrLf & "Mypropertya.Caption = " & _
           Mypropertya.Caption)
        Console.Write(ControlChars.CrLf & "Mypropertyb.Caption = " & _
           Mypropertyb.Caption)

        ' Write to the property.
        Mypropertya.Caption = "A- No Change"
        ' Mypropertyb.Caption cannot be written to because
        ' there is no set accessor.
        ' Read and display the property.
        Console.Write(ControlChars.CrLf & "Mypropertya.Caption = " & _
           Mypropertya.Caption)
        Console.Write(ControlChars.CrLf & "Mypropertyb.Caption = " & _
           Mypropertyb.Caption)

        ' 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 CanWrite property.
        Console.Write(ControlChars.CrLf & "CanWrite a - " & _
           Mypropertyinfoa.CanWrite)

        Console.Write(ControlChars.CrLf & "CanWrite b - " & _
           Mypropertyinfob.CanWrite)

        Return 0
    End Function
End Class

Hinweise

CanWrite Gibt true , wenn die Eigenschaft weist einen set Zugriffsmethode, selbst wenn der Accessor ist private, internal (oder Friend in Visual Basic), oder protected.CanWrite returns true if the property has a set accessor, even if the accessor is private, internal (or Friend in Visual Basic), or protected. Wenn die Eigenschaft keine set -Accessor, der Methodenrückgabe false.If the property does not have a set accessor, the method returns false.

Den Wert des abzurufenden der CanWrite Eigenschaft:To get the value of the CanWrite property:

  1. Abrufen der Type Objekt des Typs, der die Eigenschaft enthält.Get the Type object of the type that includes the property.

  2. Rufen Sie die Type.GetProperty zum Abrufen der PropertyInfo -Objekt, das die Eigenschaft darstellt.Call the Type.GetProperty to get the PropertyInfo object that represents the property.

  3. Abrufen des Werts der CanWrite Eigenschaft.Retrieve the value of the CanWrite property.

Gilt für: