RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

全部问题

Martin Hope
Andrew Kachalin
Asked: 2020-10-11 17:48:16 +0000 UTC

最终如何在java中工作?

  • 9

有一个代码:

private static int f (){
    try {
        return 1;
    }
    finally {
        return 2;
    }
}

public static final void main(String[] args) {
    System.out.println(f());
}

OUTPUT: 2

似乎不言而喻,编译器命中后return 1应该结束方法并输出一个,因为方法是逐行执行的。但是编译器的行为有点奇怪,而不是返回一个,它属于该部分finally.

问题:编译器如何真正“看到”代码?也许他认为这个街区try是来自街区的呼唤finally?像这样:

int finallyCompilator(){
int tryCompilator(); 
return 2; //Здесь код метода finally
}

tryCompilator(){
return 1;  //Здесь код метода try
}

但即便如此,编译器将如何“看到”catch 块(如果有的话)还不清楚?

java
  • 3 个回答
  • 10 Views
Martin Hope
Боков Глеб
Asked: 2020-10-07 16:14:39 +0000 UTC

WPF:从 MVVM 概念的角度来看,用命令调用新窗口的正确方法是什么?

  • 9

如果没有 pattern MVVM,在应用程序中调用新窗口WPF非常简单:

// Обработчик кнопки открытия другого окна

void OpenOtherWindow(object sender, RoutedEventArgs e) {
    OtherWindow otherWindow = new OtherWindow();
    otherWindow.ViewModel = "ViewModel"; 
    otherWindow.Show();
    otherWindow.ShowViewModel();
}

// Другое окно
public partial class OtherWindow : Window {
    public string ViewModel { get; set; }

        public OtherWindow(){
            InitializeComponent();
        }

        public void ShowViewModel(){
            MessageBox.Show(ViewModel);
        }
}

假设应该使用按钮和键盘快捷键打开一个新窗口。目前,我能建议的唯一方法是:

MainWindowView.xaml(视图元素)

<Window.CommandBindings>
    <CommandBinding Command="local:AutomationCommands.OpenOtherWindow" Executed="OpenOtherWindow_Executed"/>
</Window.CommandBindings>

MainWindowView.xaml.cs

private void OpenOtherWindow_Executed(object sender, ExecutedRoutedEventArgs e) {
    OtherWindow otherWindow = new OtherWindow();
    otherWindow.ViewModel = "ViewModel"; 
    otherWindow.Show();
    otherWindow.ShowViewModel();
}

自动化命令.cs

public static RoutedCommand OpenList = new RoutedCommand("OpenOtherWindow", typeof(AutomationCommands), new InputGestureCollection(){
        new KeyGesture(Key.N, ModifierKeys.Control)
});

按照模板的概念MVVM,MainWindowView.xaml.cs里面应该没有太多的逻辑。你能建议什么替代的、更正确MVVM的方法?


更新(竞赛)

几个小时以来,我用不同的语言观看了关于这个主题的不同示例。所有这些要么不完整,因此无法将它们带到工作应用程序中,要么太复杂,因此很难理解并使其适应您的应用程序,在了解您在做什么的同时,如果没有帮助,这是不可能的更有经验的 wpf 开发人员。因此,本次比赛的任务如下:

  • 制作一个最小但有效的应用程序,在此基础上可以使某些事情进一步复杂化。
  • 没有多余的东西:主屏幕上有两个按钮;一个打开一个普通窗口,另一个打开一个对话框(WPF老实说,我不明白 c 有什么区别,所以请在你的答案中包含这个解释)。在新窗口中将有一个窗口已成功打开的题词。就是这样,我们不需要标记中的任何其他内容。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

  • 我们将坚持模式MVVM,但在这个例子中我们不需要模型。也没有带走,是否有必要ViewModel但以防万一,添加了相应的类。因此,文件组织将是这样的(文件夹Models存在,但它是空的):

在此处输入图像描述

  • 无需编写迷你框架 - 没有开发经验的人WPF不会理解它们,因此无法理解使用它们。我们只需要代码来打开窗口(在框架内MVVM- 使用服务)并通知服务关闭窗口。
  • 由于该应用程序是最简单的,因此在关闭窗口时不会有任何特殊动作。但是,我要求你添加一个空的方法来处理窗口的关闭,这样随着这个例子的进一步复杂化,在哪里插入这个方法就很清楚了(在这个方法中,例如,保存输入的数据)。

代码片段:

MainWindowView.xamlView -主窗口元素

<Window x:Class="MVVM_OpenNewWindowMinimalExample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="350">
    <StackPanel>
        <Button Content="Открыть обычное дочернее окно" Command="{Binding OpenChildWindow}"/>
        <Button Content="Открыть диалоговое окно" Command="{Binding OpenDialogWindow}"/>
    </StackPanel>
</Window>

MainWindowView.xaml.cs - 这就是它的backcode名字,对吧?

namespace MVVM_OpenNewWindowMinimalExample.Views {
    public partial class MainWindowView : Window {
        public MainWindowView() {
            InitializeComponent();
        }
    }
}

应用程序.xaml.cs

namespace MVVM_OpenNewWindowMinimalExample {
    public partial class App : Application {
        protected override void OnStartup(StartupEventArgs e) {
            base.OnStartup(e);
            var modelView = new MainWindowView {
                DataContext = new MainWindowViewModel()
            };
            modelView.Show();
        }
    } 
}

链接到 Visual Studio 项目(Yandex 磁盘)。它可能会在比赛结束后的一段时间内变得不可用。

c#
  • 3 个回答
  • 10 Views
Martin Hope
Arhadthedev
Asked: 2020-09-09 16:22:40 +0000 UTC

reinterpret_cast 存在的意义何在?

  • 9

在 C++ 中,有一个运算符reinterpret_cast,其含义是在相互不兼容的类型之间进行强制转换。

但是,这种转换违反了严格的别名规则,这会引发未定义的行为。不违反此规则的相同变换适合const_cast,static_cast和dynamic_cast。

如果它的使用违反了标准,那么这个运算符的存在意义是什么?

c++
  • 3 个回答
  • 10 Views
Martin Hope
torokhkun
Asked: 2020-09-09 16:22:12 +0000 UTC

for 循环中 let 和 var 之间的行为差​​异

  • 9

let循环计数器 through和through声明的区别在于var,varcounter 变量在函数中的循环外部可见,通过let- 仅在循环内部可见。请解释为什么在这些情况下会有不同的结论。

for(var i = 0; i < 10; i++) setTimeout(() => console.log(i), 1000)

在这里,我们得到十个。

for(let i = 0; i < 10; i++) setTimeout(() => console.log(i), 1000)

这里从零到十。

对于第一个例子,一切都清楚了,但为什么在第二个例子中会这样呢?i毕竟,它是创建一次并在第一个开始之前滚动setInterval到十个。一句话—​​—为什么这两个例子有不同的结果?

javascript
  • 2 个回答
  • 10 Views
Martin Hope
Kravchuk
Asked: 2020-09-06 03:42:08 +0000 UTC

后端如何知道 Android 应用程序中的 Google 授权?

  • 9

我正在 Rails 中开发服务器端应用程序。
前端是适用于 Android / iOS 的移动应用程序。

任务是应用程序应该能够使用 Google 帐户登录。但我不明白这一切应该如何相互作用。
即使用户在应用程序中被授权,后端怎么知道呢?

android
  • 1 个回答
  • 10 Views
上一页
下一页

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5