[PostSharp.Aspects.Advices.OnInstanceConstructedAdvice]
public void OnInstanceConstructed()
{
var instanceType = this.Instance.GetType();
if (this.appliedTo != instanceType)
{
var LoadInDbMethod = instanceType.GetMethod("GetObjectInDatabase", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
var objInDb = LoadInDbMethod.Invoke(this.Instance, new object[] { null, true });
if (objInDb != null)
{
this.Instance = objInDb;
//postshot throws an error that this is readonly!!
}
}
}
인스턴스가 생성되면 PostSharp에서 인스턴스를 변경할 수 없지만 인스턴스를 생성 한 후에이 인스턴스에 다른 객체를 할당해야합니다.OnInstanceConstructedAdvice에서 인스턴스를 변경하는 방법은 무엇입니까?
한다고 가정 내가
var Pejo = new Car(){ Name = "405"};
Pejo (405)는 모두 내 데이터베이스에 존재하는 코드를 다음 한 것은 속성 그래서 Pejo 내 데이터베이스 객체가 아닌 (이름이 아닌) 널 (null) 특성을 가진 새로운 객체되고 싶어합니다.
PostSharp에서 다른 C# AOP 프레임 워크로 이동할 수도 있습니다.
PostSharp 또는 다른 AOP 프레임 워크에서이를 수행하는 방법은 무엇입니까?
달성하려는 목표는 무엇입니까? 결국 전체면에서 무엇을해야합니까? –
일단 인스턴스가 생성되면 데이터베이스가 내 개체가 데이터베이스에 존재하는지 확인하고 데이터베이스에서 발견되면 데이터베이스 개체를 생성 된 인스턴스에 할당하려고합니다. 이 코드가 있다고 가정하면'var Pejo = new Car() { "Pejo 405"};'이 객체는 데이터베이스에 존재하므로'Pejo'를 내 데이터베이스 객체로 만들고 싶습니다. 내가 무슨 뜻인지 알지 못한다면 좀 더 C# 코드로 설명 할 수 있을까요? –
@GaelFraiteur 질문에 대한 추가 정보가 있습니다. 그래도 내가 너 무슨 뜻인지 알지 못하면 알려줘. –