Questa documentazione è stata archiviata e non viene gestita.

Classe CodeArgumentReferenceExpression

Rappresenta un riferimento al valore di un argomento passato a un metodo.

Spazio dei nomi: System.CodeDom
Assembly: System (in system.dll)

[SerializableAttribute] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
[ComVisibleAttribute(true)] 
public class CodeArgumentReferenceExpression : CodeExpression
/** @attribute SerializableAttribute() */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
/** @attribute ComVisibleAttribute(true) */ 
public class CodeArgumentReferenceExpression extends CodeExpression
SerializableAttribute 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
ComVisibleAttribute(true) 
public class CodeArgumentReferenceExpression extends CodeExpression

CodeArgumentReferenceExpression può essere utilizzato in un metodo per fare riferimento al valore di un parametro che è stato passato al metodo.

La proprietà ParameterName specifica il nome del parametro cui fare riferimento.

Nel codice di esempio riportato di seguito viene definito un metodo che richiama Console.WriteLine per l'output del parametro di stringa passato al metodo. CodeArgumentReferenceExpression fa riferimento all'argomento passato al metodo in base al nome del parametro del metodo.

// Declare a method that accepts a string parameter named text.
CodeMemberMethod cmm = new CodeMemberMethod();
cmm.Parameters.Add( new CodeParameterDeclarationExpression("String", "text") );
cmm.Name = "WriteString";
cmm.ReturnType = new CodeTypeReference("System.Void");        
        
// Create a method invoke statement to output the string passed to the method.
CodeMethodInvokeExpression cmie = new CodeMethodInvokeExpression( new CodeTypeReferenceExpression("Console"), "WriteLine", new CodeArgumentReferenceExpression("text") );

// Add the method invoke expression to the method's statements collection.
cmm.Statements.Add( cmie );
 
// A C# code generator produces the following source code for the preceeding example code:        
//        private void WriteString(String text) 
//        {
//            Console.WriteLine(text);
//        }                         

// Declare a method that accepts a string parameter named text.
CodeMemberMethod cmm = new CodeMemberMethod();
cmm.get_Parameters().Add(new CodeParameterDeclarationExpression("String",
    "text"));
cmm.set_Name("WriteString");
cmm.set_ReturnType(new CodeTypeReference("System.Void"));
// Create a method invoke statement to output the string 
// passed to the method.
CodeMethodInvokeExpression cmie = new CodeMethodInvokeExpression(new
    CodeTypeReferenceExpression("Console"), "WriteLine",
    new CodeExpression[] { new CodeArgumentReferenceExpression("text")});
// Add the method invoke expression to the method's statements collection.
cmm.get_Statements().Add(cmie);
// A VJ# code generator produces the following source code for
// the preceeding example code:        
//        private void WriteString(String text) 
//        {
//            Console.WriteLine(text);
//        } //WriteString                      

System.Object
   System.CodeDom.CodeObject
     System.CodeDom.CodeExpression
      System.CodeDom.CodeArgumentReferenceExpression

I membri statici pubblici (Shared in Visual Basic) di questo tipo sono validi per le operazioni multithreading. I membri di istanza non sono garantiti come thread safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0 1.1 1.0
Mostra: