Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

PropertyInfo.CanWrite, propriété

Mise à jour : novembre 2007

Obtient une valeur indiquant s'il est possible d'écrire dans la propriété.

Espace de noms :  System.Reflection
Assembly :  mscorlib (dans mscorlib.dll)

public abstract bool CanWrite { get; }
/** @property */
public abstract boolean get_CanWrite()

public abstract function get CanWrite () : boolean

Valeur de propriété

Type : System.Boolean

true s'il est possible d'écrire dans la propriété ; sinon, false.

Implémentations

_PropertyInfo.CanWrite

En l'absence d'accesseur set, il n'est pas possible d'écrire dans la propriété.

Pour obtenir la propriété CanWrite, obtenez d'abord la classe Type. À partir de Type, obtenez PropertyInfo. À partir de PropertyInfo, obtenez la valeur CanWrite.

L'exemple suivant définit deux propriétés. Il est possible d'écrire dans la première propriété et la valeur de la propriété CanWrite est true. L'écriture n'est pas autorisée dans la seconde propriété (il n'y a pas d'accesseur set) et la valeur de la propriété CanWrite est false.

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;
    }
}


import System.*;
import System.Reflection.*;

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

        // Read and display the property.
        Console.Write(("\nMyPropertyA.Caption = " 
            + myPropertyA.get_Caption()));
        Console.Write(("\nMyPropertyB.Caption = " 
            + myPropertyB.get_Caption()));

        // Write to the property.
        myPropertyA.set_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.get_Caption()));
        Console.Write(("\nMyPropertyB.Caption = " 
            + myPropertyB.get_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 - " 
            + System.Convert.ToString(myPropertyInfoA.get_CanWrite())));
        Console.Write(("\nCanWrite B - " 
            + System.Convert.ToString(myPropertyInfoB.get_CanWrite())));
     } //main
} //MyPropertyInfo


import System;
import System.Reflection;

//Make two properties, one writable and one not writable 
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 get Caption() : String {
       return caption;
   }
}

class Mypropertyinfo
{
   public static function Main() : void
   {
      Console.WriteLine("\nReflection.PropertyInfo");

      //Build two properties
      var mypropertya : Mypropertya = new Mypropertya();
      var 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- I have been changed";
      //Note: Mypropertyb.Caption cannot be written as
      // 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
      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 CanWrite property

      Console.Write("\nCanWrite a - " + Mypropertyinfoa.CanWrite);

      Console.Write("\nCanWrite b - " + Mypropertyinfob.CanWrite);
   }
}
Mypropertyinfo.Main();
/*
This code produces the following output:

Reflection.PropertyInfo

mypropertya.Caption = A Default caption
mypropertyb.Caption = B Default caption
mypropertya.Caption = A- I have been changed
mypropertyb.Caption = B Default caption
CanWrite a - true
CanWrite b - false
*/


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0

XNA Framework

Pris en charge dans : 2.0, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

Afficher:
© 2014 Microsoft. Tous droits réservés.