C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でプロパティ値を動的にフェッチする方法は?


Reflectionを利用して、プロパティ値を動的にフェッチできます。

リフレクションは、アセンブリ、モジュール、およびタイプを記述するオブジェクト(タイプタイプ)を提供します。リフレクションを使用して、型のインスタンスを動的に作成したり、型を既存のオブジェクトにバインドしたり、既存のオブジェクトから型を取得してそのメソッドを呼び出したり、そのフィールドやプロパティにアクセスしたりできます。コードで属性を使用する場合、リフレクションを使用すると属性にアクセスできます。

System.Reflection名前空間とSystem.Typeクラスは、.NETReflectionで重要な役割を果たします。これら2つは連携して機能し、タイプの他の多くの側面を反映することができます。

using System;
using System.Text;
   namespace DemoApplication {
      public class Program {
         static void Main(string[] args) {
            var employeeType = typeof(Employee);
            var employee = Activator.CreateInstance(employeeType);
            SetPropertyValue(employeeType, "EmployeeId", employee, 1);
            SetPropertyValue(employeeType, "EmployeeName", employee, "Mark");
            GetPropertyValue(employeeType, "EmployeeId", employee);
            GetPropertyValue(employeeType, "EmployeeName", employee);
            Console.ReadLine();
         }
         static void SetPropertyValue(Type type, string propertyName, object instanceObject, object value) {
            type.GetProperty(propertyName).SetValue(instanceObject, value);
         }
         static void GetPropertyValue(Type type, string propertyName, object instanceObject) {
            Console.WriteLine($"Value of Property {propertyName}:                   {type.GetProperty(propertyName).GetValue(instanceObject, null)}");
         }
      }
      public class Employee {
         public int EmployeeId { get; set; }
         public string EmployeeName { get; set; }
      }
   }

出力

上記のコードの出力は

です。
Value of Property EmployeeId: 1
Value of Property EmployeeName: Mark

上記の例では、タイプとプロパティ名を取得することにより、Reflectionを使用してEmployeeプロパティの値が設定されていることがわかります。同様に、プロパティ値をフェッチするために、 GetProperty()を使用しました Reflectionクラスのメソッド。これを使用することで、実行時に任意のプロパティの値を取得できます。


  1. JavaScriptでCSSプロパティの現在の値を取得する方法は?

    getComputedStyle()メソッドは、ターゲット要素に適用されたすべてのスタイルを含むオブジェクトを提供します。 例 次の例は、JavaScriptを使用してCSS変数を取得および設定する方法を示しています。 <!DOCTYPE html> <html> <head> <style> div {    margin: 4%;    padding: 4%;    width: 50%;    text-align: center;    

  2. Redis TYPE –キーに値ストアのデータ型を取得する方法

    このチュートリアルでは、キーの値ストアのデータ型を取得する方法について学習します。 redisデータストアの値は、String、List、Set、Sorted Setなどのさまざまなデータ型にすることができます。値のデータ型を取得するには、COMMAND – TYPEを使用します。 redis-cliで。 redisTYPEコマンドの構文は次のとおりです:- 構文:- redis host:post> TYPE <key name> 出力:- - string representing data type of a value.- none, if key does