我有两种方法:
public void WriteRecord(string collectionName, IDatabaseRecord databaseRecord)
public void WriteRecord(string collectionName, BsonDocument bsonDocument)
我将它们包含在我的界面中:
void WriteRecord(string collectionName, BsonDocument bsonDocument);
void WriteRecord(string collectionName, IDatabaseRecord databaseRecord);
然后当我打电话时;
_databaseClient.WriteRecord(Collections.Tracking, workflowTrackingRecord);
其中workflowTrackingRecord的类型为WorkflowInternalTrackingRecord : IDatabaseRecord
我可以看到代码正在尝试调用第二种方法(使用BsonDocument的方法),因为我在上面的行中得到了这个编译错误:
“'MongoDB.Bson.BsonDocument' 类型在未引用的程序集中定义。您必须添加对程序集 'MongoDB.Bson... 的引用”
如果我删除
void WriteRecord(string collectionName, IDatabaseRecord databaseRecord);
然后从界面
_databaseClient.WriteRecord(Collections.Tracking, workflowTrackingRecord);
工作正常。
为什么编译器指向错误的方法。它使用什么标准来决定?