ace*_*ura 1 c# methods interface parameter-passing interface-implementation
我有以下方法(在我的DLL中实现第三方sdk方法):
public void PlaceItem(myItemData item, IRequest request)
{
var item = (ItemClassData)item; //**myItemData is the base class for ItemClassData**
item.Id = 101;
request.Succeeded(item.Id);
}
Run Code Online (Sandbox Code Playgroud)
接口参数如下:
public interface IRequest
{
void Failed(string Error);
void Succeeded(string ItemId);
}
Run Code Online (Sandbox Code Playgroud)
我想从函数中调用此方法.我知道如何在调用此方法时将对象作为第一个参数传递.但是如何传递第二个参数(Interface).任何帮助是极大的赞赏.
只需创建一个实现此接口的类即可
public class MyClass : IRequest
{
public void Failed(string Error) { // do something }
public void Succeeded(string ItemId) { // do something }
}
Run Code Online (Sandbox Code Playgroud)
创建它的实例并将其传递给方法
var inst = new MyClass();
PlaceItem(..., inst);
Run Code Online (Sandbox Code Playgroud)