我有以下功能:
public static T TryGetArrayValue<T>(object[] array_, int index_)
{
... //some checking goes up here not relevant to question
dynamic boxed = array_[index_];
return (T)boxed;
}
Run Code Online (Sandbox Code Playgroud)
当我用以下方式调用它时,
object a = new object();
object v = TUtils.TryGetArrayValue<object>(new object[] { a }, 0);
Run Code Online (Sandbox Code Playgroud)
(T)boxed 抛出空引用异常.
除了"对象"之外,我放在那里的任何其他类型,它完全正常.
任何想法是什么,为什么它抛出异常?
编辑:我使用动态的原因是为了避免在转换类型时出现异常,例如:
double a = 123;
int v = TUtils.TryGetArrayValue<int>(new object[] { a }, 0);
Run Code Online (Sandbox Code Playgroud) 使用aurelia.io框架路由器时,读取和设置查询字符串的首选方法是什么?
例如,在网址中: http://www.myapp.com/#/myroute1/?s=mystate
我如何阅读和设置?s=mystate网址的一部分并让aurelia路由器正确导航并记住该状态,这样每当我到达我的route1viewmodel时,我都可以读取该状态变量并对其执行某些操作?
javascript query-string aurelia aurelia-navigation aurelia-router
使用Rx,获取主题中当前观察者数量的最佳方法是什么?
我有一个场景,我想发布一条消息,但只有在有观察者的情况下.如果没有观察员,我需要做点别的事情.
为了解决这个问题,我所做的是创建自己的ISubject实现并公开内部IObserver集合的计数.我确信必须有一个开箱即用的方式,我只是不完全熟悉Rx提供的东西.
谢谢!