Events 如何从主结构中存储的回调调用self函数?

Events 如何从主结构中存储的回调调用self函数?,events,rust,Events,Rust,具有分层应用程序: main.rs |-- controller/ | |-- mod.rs | └-- one.rs └-- service/ |-- mod.rs └-- two.rs 有一个名为one的主控制器,默认情况下,该控制器加载two服务,以通过特定参数运行应用程序: //控制器/one.rs 使用create::service::two::TwoService; 发布结构控制器{ i18n:json::JsonValue, 双服务:双服务 } 嵌入式控制

具有分层应用程序:

main.rs
|-- controller/
|   |-- mod.rs
|   └-- one.rs
└-- service/
    |-- mod.rs
    └-- two.rs
有一个名为
one
的主控制器,默认情况下,该控制器加载
two
服务,以通过特定参数运行应用程序:

//控制器/one.rs
使用create::service::two::TwoService;
发布结构控制器{
i18n:json::JsonValue,
双服务:双服务
}
嵌入式控制器{
发布(板条箱)fn new()->OneController{
返回控制器{
双服务:双服务{
on_receive:OneController::receive_事件//TwoService{
回程服务{
on_receive:TwoService::on_receive_事件
};
}
//默认值为/dev/null
pub fn on_receive_事件(&self,_地址:&str){}
发布测试(&self){
//呼叫用户事件
自我接收(“x.x.x.x”);
}
}
主要问题是当需要在其他类中将一个可调用对象设置为var时。在python示例中,使用self.user_函数设置var,并且自动引用self,但在rust中,self是手动设置的

在控制器构造函数中,
new
函数需要一个初始化的对象,但是
new
函数没有
self
对象,不能通过示例
在_receive:self.receive_事件
上进行设置,设置静态函数引用,但不设置self上下文

从服务层,如何将泛型类声明为参数

pub结构服务{
接收上的发布:fn(?、和str)
}
我尝试使用
fn(&mut self,&str)
fn(&Any,&str)
,但不起作用(
作为函数参数在语义上无效
)。该函数可以为任何控制器设置任何
self
上下文


如何从
TwoService
进行回调并从controller设置ir?。所有打印仅从controller调用,服务层仅返回带有结果的信号。

函数特性称为
Fn
(大写
F
),而不是
Fn