有没有办法在VB.NET中做同样的事情?
Dictionary<int, string> myDict = new Dictionary<int, string>()
{
{ 2, "This" },
{ 1, "is" },
{ 5, "radio" },
{ 12, "clash" },
};
Run Code Online (Sandbox Code Playgroud) 我为我的Play应用程序编写了一个Filter:
object MyFilter {
def apply() = new MyFilter()
}
class MyFilter extends EssentialFilter {
def apply(next: EssentialAction) = new EssentialAction {
def apply(requestHeader: RequestHeader) = {
requestHeader.cookies.get("myCookie") match {
case Some(cookie) => {
requestHeader.session + ("importantValue", cookie.value)
next(requestHeader)
}
case None => {
val importantValue = ... // retrieve the value from somewhere
requestHeader.session + ("importantValue", importantValue)
next(requestHeader).map(_.withCookies(Cookie("importantValue", value)))
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Play文档中有很多关于如何编写测试的例子,但我不知道如何对MyFilter进行单元测试.有人可以帮我一点吗?
谢谢
托本
我想知道是否有更短的版本
var longVariableName: MyType = MyTyp("Value")
longVariableName = longVariableName.addSomething("added")
case class MyType(value: String) {
def addSomething(add: String): MyType = ???
}
Run Code Online (Sandbox Code Playgroud)
也许是这样的
var longVariableName: MyType = MyType("Value")
longVariableName = _.addSomething("extended")
Run Code Online (Sandbox Code Playgroud)
真是太好了:)谢谢
我有以下界面:
interface MyInterface<T> {
boolean valid(T object);
}
Run Code Online (Sandbox Code Playgroud)
现在我想写一堂课
class MyClass<S extends MyInterface<T>>) {
public S doSomething(T object) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
当我像上面那样实现它时,我收到消息"无法解析符号T".
编辑:我为什么要问?
当我实现接口时
class MyInterfaceImpl<Double> {
boolean valid(Double object)
}
Run Code Online (Sandbox Code Playgroud)
还有这样的课
class SomeClass() {
private MyClass<Double, MyInterfaceImpl> myClass;
}
Run Code Online (Sandbox Code Playgroud)
那么"Double"在某种程度上是重复的,所以我希望有任何方法可以摆脱Double,所以它看起来像
class SomeClass() {
private MyClass<MyInterfaceImpl> myClass;
}
Run Code Online (Sandbox Code Playgroud)
谢谢Torben