如果数据网格视图很长并且显示滚动条但我不知道如何检查滚动条是否可见,我想显示一些内容.我不能简单地添加行,因为有些行可能不可见.我不能使用事件,因为我的代码已经在事件中.
我正在尝试创建一个 git 服务器挂钩,以便不会推送未格式化的代码。在我的场景中,我想使用 clang 格式来检查代码格式是否正确。如果没有,用户将收到一条消息,说明他们需要在推送之前格式化代码。
我们正在努力在工作中实施必须格式的政策,这只是一个安全网。
我正在开发一个项目,其中 DataGridView 中的单元格会突出显示。我想知道是否可以在滚动条本身上做标记来指示这些突出显示的位置。任何想法可能会有帮助。
我目前有一个Vec<Rc<Item>>,我非常希望有一个Vec<Item>,其中每个 Rc 项目都被克隆到新的 Vec 中。我该如何实现?
在下面的代码中,我试图通过调用其方法之一来更改已计数对象的值:
use std::rc::Rc;
fn main() {
let mut x = Rc::new(Thing { num: 50 });
x.what_to_do_to_get_mut_thing().change_num(19); //what do i do here
}
pub struct Thing {
pub num: u32,
}
impl Thing {
pub fn change_num(&mut self, newnum: u32) {
self.num = newnum;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用该get_mut函数来实现此目的,但是我不知道这是否是实现此目标的标准方法。
if let Some(val) = Rc::get_mut(&mut x) {
val.change_num(19);
}
Run Code Online (Sandbox Code Playgroud) 我如何match在枚举引用上?我使用的依赖项返回对枚举的引用,我需要读取枚举包含的值。在下面的例子中,我关心的事情是分配final_val有x:
fn main() {
let test_string = String::from("test");
let option: std::option::Option<String> = Some(test_string);
let ref_option = &option;
let final_val = match ref_option {
Some(x) => x,
_ => String::from("not Set"),
};
println!("{:?}", final_val);
}
Run Code Online (Sandbox Code Playgroud)
如果我遵循编译器的建议并&在类型中添加 aSome和ref x:
fn main() {
let test_string = String::from("test");
let option: std::option::Option<String> = Some(test_string);
let ref_option = &option;
let final_val = match ref_option {
&Some(ref x) => x,
_ => String::from("not Set"),
}; …Run Code Online (Sandbox Code Playgroud)