我试图在VB.NET中创建一个继承基本抽象类的类,并实现一个接口.接口声明一个名为Description的字符串属性.基类包含一个名为Description的字符串属性.主类继承基类并实现接口.基类中存在Description属性可满足接口要求.这在C#中工作正常但在VB.NET中引起问题.
首先,这是一个有效的C#代码示例:
public interface IFoo
{
string Description { get; set; }
}
public abstract class FooBase
{
public string Description { get; set; }
}
public class MyFoo : FooBase, IFoo
{
}
Run Code Online (Sandbox Code Playgroud)
现在这是VB.NET版本,它给出了编译器错误:
Public Interface IFoo
Property Description() As String
End Interface
Public MustInherit Class FooBase
Private _Description As String
Public Property Description() As String
Get
Return _Description
End Get
Set(ByVal value As String)
_Description = value
End Set
End Property
End Class
Public Class MyFoo
Inherits FooBase …Run Code Online (Sandbox Code Playgroud) 示例:您的数据库具有名为"CustomerOrdersOnHold"的SQL视图.此视图返回特定客户和订单数据字段的过滤组合.您需要在应用程序中从此视图中获取数据.如何访问这样的视图适合存储库模式?你会创建一个"CustomerOrdersOnHoldRepository"吗?这样的只读视图是否被视为聚合根?
domain-driven-design aggregateroot repository-pattern sql-view
MSDN指出的是
在代码中使用属性时,不需要指定属性后缀
示例:您有一个名为的属性HelpAttribute.您可以使用[Help](无属性后缀)或使用[HelpAttribute]; 来装饰属性; 要么是允许的.但是,当您使用完整的属性名称而不是非后缀名称时,代码运行得更快吗?
Knockout JS具有虚拟元素的概念.这些是"无头"元素,您可以绑定到没有HTML元素作为容器的元素.这允许您在不发出外部HTML的容器中绑定数组.
例如,在Knockout JS中,您可以执行以下操作:
<!-- ko foreach: items -->
<li data-bind="text: $data"></li>
<!-- /ko -->
Run Code Online (Sandbox Code Playgroud)
li将发出一系列标签而没有父元素.
Aurelia是否提供类似的东西?我确实看到你可以在Aurelia中创建可以绑定的自定义元素,但是这些自定义元素作为HTML元素发布到DOM.
例如,在Aurelia,您可以执行以下操作:
<foo repeat.for="item of items" foo.bind="item"></foo>
Run Code Online (Sandbox Code Playgroud)
但是,这将发出foo元素标签.如何在没有不需要的父元素标签的情况下在Aurelia中完成这样的事情?
repeat.for在Aurelia中嵌套时,内部repeat.for无法访问其父级中使用的变量repeat.for.
<div repeat.for="x of 8">
<div repeat.for="y of 8">
${x} - ${y}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,${x}不发出任何东西.如何x在内部获得价值repeat.for?