我一直在寻找不同的选项,甚至一些最流行的开源工具似乎只有Windows(例如StarUML).对于像Visio和Rational Rose for linux这样的程序,最好的开源替代方案是什么?
我想做这样的事情:
public class Foo {
// Probably really a Guid, but I'm using a string here for simplicity's sake.
string Id { get; set; }
int Data { get; set; }
public Foo (int data) {
...
}
...
}
public static class FooManager {
Dictionary<string, Foo> foos = new Dictionary<string, Foo> ();
public static Foo Get (string id) {
return foos [id];
}
public static Foo Add (int data) {
Foo foo = new Foo (data);
foos.Add (foo.Id, foo); …Run Code Online (Sandbox Code Playgroud) 我创建了一个名为"Hello.java"的文件,如下所示:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Run Code Online (Sandbox Code Playgroud)
javac Hello.java然后我跑了,java Hello一切都按预期工作了.
然后我将该行添加package testpackage;到文件的顶部,并将其放在目录中/home/matthew/Desktop/hellotest/testpackage.我输入.:/home/matthew/Desktop/hellotest了我的CLASSPATH,并以与以前相同的方式编译和运行.但是现在,我收到了这个错误:
matthew@matthew-laptop:~/Desktop/hellotest/testpackage$ java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: testpackage/Hello)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
Could not find the main class: Hello. Program will exit.
Run Code Online (Sandbox Code Playgroud)
为什么它可以独立工作,而不是在一个包中?
我们称这样的实例为"集合"吗?一个"可数"?或者是其他东西?我问我的两个主要目标是:
IEnumerable.我想知道是否可以从旧版本恢复已删除的文件(一种干净的方式来执行此操作)
我已经重命名了一个文件用于某些测试,而不是我提交了所有的工作(我忘了重命名文件)并做了很多其他的提交......当我意识到,为时已晚......
此致,艾曼
我的代码看起来像这样:
public class Foo<T> : ObservableCollection<T>
{
private T bar;
public Foo(IEnumerable<T> items)
: base(items.ToList())
{
Contract.Requires(items != null);
if (this.Any())
this.bar = this[0]; // gives 'requires unproven: index < @this.Count'
}
}
Run Code Online (Sandbox Code Playgroud)
不应该Any为索引0 的支票帐户?我做错了什么,或者CodeContracts是不是认不出这种情况?
ICommand在XAML中使用s时,WPF使用该CanExecute方法启用或禁用与该命令关联的控件.但是如果我Execute从程序代码中调用呢?我应该首先检查CanExecute以确保该命令可以执行,还是应该Execute为我处理此检查?
换句话说,我应该这样做:
if (someCommand.CanExecute(parameter, target))
someCommand.Execute(parameter, target);
Run Code Online (Sandbox Code Playgroud)
或者就是这样:
someCommand.Execute(parameter, target);
Run Code Online (Sandbox Code Playgroud) 可能重复:
为什么gcc中'-l'选项的顺序很重要?
我开始学习Boost单元测试框架.我有一个最小的测试套件:
#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE( test1 ) {
BOOST_CHECK( 2 == 1 );
}
Run Code Online (Sandbox Code Playgroud)
首先我编译源代码:
g++ -c src/tests.cc -o src/tests.o
Run Code Online (Sandbox Code Playgroud)
这完成没有错误.然后我可以链接如下:
g++ -o tests src/tests.o -lboost_unit_test_framework
Run Code Online (Sandbox Code Playgroud)
这也完成没有错误.生成的二进制文件执行预期结果.但是,如果我交换了src/tests.o和的顺序-lboost_unit_test_framework,我会收到链接器错误:
g++ -o tests -lboost_unit_test_framework src/tests.o
Run Code Online (Sandbox Code Playgroud)
src/tests.o: In function `main': tests.cc:(.text+0x29): undefined reference to `boost::unit_test::unit_test_main(bool (*)(), int, char**)' src/tests.o: In function `test1::test_method()': tests.cc:(.text+0x9d): undefined reference to `boost::unit_test::unit_test_log_t::set_checkpoint(boost::unit_test::basic_cstring, unsigned int, boost::unit_test::basic_cstring)' tests.cc:(.text+0x146): undefined reference to `boost::test_tools::tt_detail::check_impl(boost::test_tools::predicate_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring, unsigned int, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned int, …
WPF似乎缺乏RadioMenuItem类或类似的功能.在Windows.Forms,菜单项有一个RadioChecked属性,但WPF菜单项只有IsChecked.我可以把实际的RadioButtons 放进去MenuItem,但这感觉很怪异,看起来很尴尬.
如何创建一组菜单项,其功能类似于WPF菜单中的单选按钮?有关参考,请参阅IE8中的"缩放"菜单.
c# ×5
.net ×4
bazaar ×2
wpf ×2
boost ×1
c++ ×1
collections ×1
commit ×1
compilation ×1
file ×1
g++ ×1
icommand ×1
ienumerable ×1
java ×1
linker ×1
linux ×1
namespaces ×1
open-source ×1
packages ×1
radio-button ×1
restore ×1
singleton ×1
static ×1
terminology ×1
uml ×1
winforms ×1