F #에 interop 유형을 임베드 할 수 있습니까?F에 Interop 유형 임베드 #
먼저 참조에서 그렇게하는 옵션이 보이지 않습니다.
//DBEngine is the interface DBEngineClass is the concrete class
//if I dont embed the interop
//Valid
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngineClass();
//Valid
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine();
//if I do embed the interop
//Invalid
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngineClass();
//Valid
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine();
그러나, F 번호는 항상 구체적인 클래스에 대한 참조를 가지고 싶어 : 나는 C#에서 유형을 포함 할 경우
둘째, 그것은 인터페이스가 아닌 구체적인 클래스를 참조하라고 알려줍니다. 이 문제를 해결할 방법이 있습니까?
실제로는 이진수가 실제로 버전 v14.0 특정 클래스에 바인딩하도록 지시합니다. COM은이 인터페이스 개념을 가지고 있습니다.이 인터페이스는 현재 C#의 langage 수준에서 표면화되었습니다. 그래서 당신은 새로운 것을 시작할 수 있습니다 ... 인터페이스! – nicolas
아이디어는 어떤 클라이언트 라이브러리가 인터페이스를 구현하는지 신경 쓰지 않습니다. 나는이 일반성을 런타임에 맡긴다. 누가 런타임을 준수 할 것인가? – nicolas