我对Overriding与隐藏Java有何不同感到困惑.任何人都可以提供有关这些差异的更多细节吗 我阅读了Java Tutorial,但示例代码仍让我感到困惑.
为了更清楚,我理解压倒一切.我的问题是我没有看到隐藏是有什么不同的,除了一个是在实例级别而另一个在类级别.
查看Java教程代码:
public class Animal {
public static void testClassMethod() {
System.out.println("Class" + " method in Animal.");
}
public void testInstanceMethod() {
System.out.println("Instance " + " method in Animal.");
}
}
Run Code Online (Sandbox Code Playgroud)
然后我们有一个子类cat:
public class Cat extends Animal {
public static void testClassMethod() {
System.out.println("The class method" + " in Cat.");
}
public void testInstanceMethod() {
System.out.println("The instance method" + " in Cat.");
}
public static void main(String[] args) {
Cat myCat = new Cat();
Animal …
Run Code Online (Sandbox Code Playgroud) 我有一个函数返回一个Result
:
fn find(id: &Id) -> Result<Item, ItemError> {
// ...
}
Run Code Online (Sandbox Code Playgroud)
然后另一个使用它像这样:
let parent_items: Vec<Item> = parent_ids.iter()
.map(|id| find(id).unwrap())
.collect();
Run Code Online (Sandbox Code Playgroud)
如何在任何map
迭代中处理失败的情况?
我知道我可以使用flat_map
,在这种情况下,错误结果将被忽略:
let parent_items: Vec<Item> = parent_ids.iter()
.flat_map(|id| find(id).into_iter())
.collect();
Run Code Online (Sandbox Code Playgroud)
Result
迭代器有0或1个项目,具体取决于成功状态,flat_map
如果为0则会过滤掉它.
但是,我不想忽略错误,我想改为使整个代码块停止并返回一个新错误(基于映射中出现的错误,或者只是转发现有错误).
如何在Rust中最好地处理这个问题?
我想让程序员和我自己知道一个方法不需要null
,如果你确实发送null
它,结果将不会很好.
有一个NotNullAttribute
和CanBeNullAttribute
在Lokad共享库,在Lokad.Quality
命名空间.
但是这有什么作用呢?我查看了这两个属性的源代码,它看起来像这样:
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Parameter |
AttributeTargets.Property | AttributeTargets.Delegate |
AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
[NoCodeCoverage]
public sealed class NotNullAttribute : Attribute
{
}
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Parameter |
AttributeTargets.Property | AttributeTargets.Delegate |
AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
[NoCodeCoverage]
public sealed class CanBeNullAttribute : Attribute
{
}
Run Code Online (Sandbox Code Playgroud)
继承自的两个空类Attribute
.它们是如何使用的?你需要查找xml文档并知道它在那里吗?因为我试图制作我自己的属性副本并使用Lokad版本,但是当我尝试直接发送null时,我没有收到任何消息.既不是来自ReSharper也不是来自VS. 实际上我有点期待.但他们是如何使用的呢?如果我尝试发送一些空的东西,我可以以某种方式让VS为我生成警告吗?或者它只是在某种测试框架中使用?要么?
我有以下自定义视图:
这是我通过使用Canvas的drawArc()
方法实现的.但是,使用这种drawArc()
方法我不能限制弧的内半径.
我想拥有的是这样的:
只剩下一个外环的地方.
我需要的是一个drawArc()
函数,我可以设置弧的内半径.任何人都知道如何做到这一点?
(顺便说一句,覆盖内部区域不起作用,因为它需要是透明的.Color.TRANSPARENT
在绘制红色和蓝色锥体之后绘制内部圆圈不会移除旧颜色.它只是将另一层放在顶部,这是透明的我仍然可以看到红色和蓝色)
我正在使用数据绑定Windows窗体DataGridView
.如何从用户选择的行走在DataGridView
到DataRow
的DataTable
是它的来源?
有没有一种方法可以在jQuery中设置Webkit和Mozilla浏览器中可用的css3 border-radius属性的动画?
我还没有找到能够做到这一点的插件.
-webkit-border-radius
-moz-border-radius
Run Code Online (Sandbox Code Playgroud) 在Rust中,我认为处理可恢复错误的惯用方法是使用Result.例如,这个功能显然是惯用的:
fn do_work() -> Result<u64, WorkError> {...}
Run Code Online (Sandbox Code Playgroud)
当然,还有一些具有单一,明显的故障状态的功能,因此使用Option类型.一个惯用的例子是这样的:
fn do_work() -> Option<u64>
Run Code Online (Sandbox Code Playgroud)
这一切都在文档中直接解决.但是,我对函数可能失败的情况感到困惑,但在成功时没有任何有意义的值.比较以下两个功能:
fn do_work() -> Option<WorkError>
// vs
fn do_work() -> Result<(), WorkError>
Run Code Online (Sandbox Code Playgroud)
我只是不确定哪一个更惯用,或者更常用于现实世界的Rust代码.我这样的问题的首选资源是Rust书,但我不认为这是在" 错误处理 "部分中解决的.我也没有任何其他Rust文档的运气.
当然,这似乎是相当主观的,但我正在寻找权威的来源,要么说明哪种形式是惯用的,要么说明为什么一种形式优于(或劣等)另一种形式.(我也很好奇这个约定如何与其他大量使用"错误作为值"的语言相比,比如Go和Haskell.)
在Visual Studio中,您可以使用区域最小化大量代码; 它们基本上只围绕代码并在窗口中最小化它.
Sublime有类似的功能吗?
我有一些来自数据库的数据,我无法轻易改变其架构.我想对它进行排序并将其绑定到基于数字ID的控件.问题是API int
在转换尝试时将数字存储在字符串字段中,而不是作为和Linq barfs存储.
myControl.DataSource = dataFromDB.OrderBy(o => int.Parse(o.StringHoldingAnInt));
Run Code Online (Sandbox Code Playgroud)
LINQ to Entities无法识别方法'Int32 Parse(System.String)'方法,并且此方法无法转换为存储表达式.
Convert.ToInt32
也不起作用.
LINQ to Entities无法识别方法'Int32 ToInt32(System.String)'方法,并且此方法无法转换为存储表达式.
排序为字符串是不合适的,因为这些值的长度不是全部相同,它们会按如下顺序排序:1,10,11,2,3 ..
我需要创建一个自定义应用程序域来解决.NET运行时默认行为中的错误.我在网上看到的示例代码都没有用,因为我不知道在哪里放置它,或者在我的Main()
方法中需要替换它.
c# ×4
rust ×2
rust-result ×2
2d ×1
android ×1
appdomain ×1
attributes ×1
border ×1
css3 ×1
datagridview ×1
datatable ×1
draw ×1
folding ×1
idiomatic ×1
inheritance ×1
java ×1
jquery ×1
linq ×1
methods ×1
minimize ×1
null ×1
optional ×1
overriding ×1
region ×1
sql-order-by ×1
sublimetext2 ×1
winforms ×1