小编Vin*_*nie的帖子

Swashbuckle.AspNetCore.Cli 无法与 appsettings.json 一起使用

我似乎无法让 Swashbuckle.AspNetCore.Cli 与我的 .NET Core 3.1 项目一起使用。我已经使用这些指令安装了 Cli ,并且构建项目工作正常。但每当我尝试生成 swagger.json 时,它都会给我提供与无法找到的 appsettings.json 变量相关的未处理异常。使用 Cli 工具运行程序集似乎不会加载我的设置。以前有其他人遇到过这个问题吗?

Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)

.net c# swashbuckle.aspnetcore

6
推荐指数
1
解决办法
1513
查看次数

使用相同的 Rust 通道 (mpsc) 发送不同类型

我遇到了一种情况,我正在为多个发送方设置通道,这些发送方需要能够将不同类型的数据发送到接收线程。

使用以下匹配表达式创建接收线程来处理这些消息。

let receiver_thread = match config.style.as_str() {
    "Type1" => start_recv_type1(receiver, config.clone(), log.clone()),
    "Type2" => start_recv_type2(receiver, config.clone(), log.clone()),
    "Type3" => start_recv_type3(receiver, log.clone()),
    _ => panic!("Wrong type!"),
};
Run Code Online (Sandbox Code Playgroud)

可以发送的一种可能类型是 String 而另一种是我定义的结构。但是,编译器抱怨接收线程上的类型不匹配。查看我的接收者和发送者的定义方式,我可以明白为什么这是不正确的,因为它具有以下类型:std::sync::mpsc::Receiver<std::string::String>.

看看我的匹配表达式,我认为创建一个更通用的函数来初始化我的接收线程是更明智的,但我如何通过同一通道发送不同类型的数据?我已经搜索并找到了一个可能的解决方案,即使用将我的结构和字符串作为字段的枚举,但这是否意味着我必须更改所有函数定义才能使用此枚举语法?即更改我的功能以使用ChannelTypes(StringMessage(String))或ChannelTypes(StructMessage(factory::datatype::MyStruct))

enum ChannelTypes {
    StructMessage(factory::datatype::MyStruct),
    StringMessage(String),
}
Run Code Online (Sandbox Code Playgroud)

types channels rust

5
推荐指数
2
解决办法
1458
查看次数

如何在结构字段上创建可变迭代器

所以我正在使用 Rust 开发一个小的 NES 模拟器,我正在尝试使用我的状态寄存器。寄存器是一个结构,其中包含一些包含布尔值的字段(标志),寄存器本身是 CPU 结构的一部分。现在,我想遍历这些字段并根据我执行的一些指令设置 bool 值。但是,我无法实现可变迭代器,我已经实现了一个 into_iter() 函数并且能够遍历字段以获取/打印 bool 值,但是如何在结构本身内改变这些值?这甚至可能吗?

pub struct StatusRegister {
    CarryFlag: bool,
    ZeroFlag: bool,
    OverflowFlag: bool,
}

impl StatusRegister {
    fn new() -> Self {
        StatusRegister {
            CarryFlag: true,
            ZeroFlag: false,
            OverflowFlag: true,
        }
    }
}

impl<'a> IntoIterator for &'a StatusRegister {
    type Item = bool;
    type IntoIter = StatusRegisterIterator<'a>;

    fn into_iter(self) -> Self::IntoIter {
        StatusRegisterIterator {
            status: self,
            index: 0,
        }
    }
}

pub struct StatusRegisterIterator<'a> {
    status: &'a StatusRegister,
    index: usize, …
Run Code Online (Sandbox Code Playgroud)

struct iterator reference mutable rust

3
推荐指数
1
解决办法
632
查看次数