저는 나를 위해 객체를 만들고 설정하는 라이브러리를 가지고 있습니다. 그런 다음 객체를 사용하여 객체를 사용할 수 있습니다.C#은 메소드/필드를 객체에 오버라이드/추가합니다.
, 내가 때문에 클래스의 코드를 변경하지 않으의 내가 "A"는
그래서 내가 그 특정 객체의 메소드를 오버라이드 (override) 할 클래스의 객체 "는"주어진있어 가정 해 봅시다 라이브러리 변경이 필요합니다.
루비에서 내가 할 수있는 그런 식으로, 싱글 톤 클래스를 사용하여 : 지금은 C#으로 동일한 작업을 수행 할 수있는 방법
class FirstClass
def test
p "test"
end
end
o = FirstClass.new
class << o
def test
p "overridden"
end
def extraMethod
p "ok"
end
end
o.test # prints "overridden"
o.extraMethod
?
업데이트
내가 제출 한 대답을 사용하지 않는 결국너무 추한과 그들을 따라서 파생 클래스에 존재하게 보호하거나 공개하는 중 기본 클래스의 모든 개인 필드를 변경해야하기 때문에 기본에서 파생 값을 복사 할 수 있습니다.
나는 도서관에 기본 클래스에서 파생 된 유형을 통과하고 사용하여 인스턴스를 생성하도록 라이브러리를 변경하는 것입니다 사용 결국 방법 :
(A)Activator.CreateInstance(mytype, arguments);
무엇을 원하십니까? 그것은 말이되지 않습니다. –