>  기사  >  백엔드 개발  >  C#에서 리플렉션을 통해 속성 값을 설정하는 방법은 무엇입니까?

C#에서 리플렉션을 통해 속성 값을 설정하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-08-27 15:49:02646검색

C#에서 리플렉션을 통해 속성 값을 설정하는 방법은 무엇입니까?

시스템. 리플렉션 네임스페이스에는 애플리케이션에 대한 정보를 얻고 유형, 값 및 개체를 애플리케이션에 동적으로 추가할 수 있는 클래스가 포함되어 있습니다.

Reflection 객체는 런타임에 유형 정보를 얻는 데 사용됩니다. 실행 중인 프로그램의 메타데이터에 대한 액세스를 허용하는 클래스는 System.reflection 네임스페이스에 있습니다.

Reflection을 사용하면 런타임에 속성 정보를 볼 수 있습니다.

Reflection을 사용하면 어셈블리의 다양한 유형을 검사하고 이러한 유형을 인스턴스화할 수 있습니다.

Reflection을 사용하면 메서드와 속성에 대한 지연 바인딩이 가능합니다.

Reflection을 사용하면 런타임에 새로운 유형을 생성한 다음 이러한 유형을 사용하여 일부 작업을 수행할 수 있습니다.

Example

GetProperty(String)

지정된 이름을 가진 공용 속성을 검색합니다.

GetType(String, Boolean)

어셈블리 인스턴스에서 지정된 이름을 가진 Type 개체를 가져오고, 해당 유형을 찾을 수 없으면 선택적으로 예외를 발생시킵니다.

SetValue(Object, Object)

지정된 객체의 속성값을 설정합니다.

class Program{
   static void Main(string[] args){
      User user = new User();
      Type type = user.GetType();
      PropertyInfo prop = type.GetProperty("Name");
      prop.SetValue(user, "Bangalore", null);
      System.Console.WriteLine(user.Name);
      Console.ReadLine();
   }
}
class User{
   public int Id { get; set; }
   public string Name { get; set; }
}

출력

Bangalore

위 내용은 C#에서 리플렉션을 통해 속성 값을 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제