Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用reactiveui获取构造函数时出错_C#_.net_Reactive_Reactiveui - Fatal编程技术网

C# 使用reactiveui获取构造函数时出错

C# 使用reactiveui获取构造函数时出错,c#,.net,reactive,reactiveui,C#,.net,Reactive,Reactiveui,我有一个视图模型,它有两个视图模型作为属性: public class PokemonViewModel : ReactiveObject, IEnableLogger { private readonly IPokemonService PokemonService; [Reactive] public PokemonListViewModel PokemonListViewModel { get; set; }

我有一个视图模型,它有两个视图模型作为属性:

    public class PokemonViewModel : ReactiveObject, IEnableLogger
    {
        private readonly IPokemonService PokemonService;

        [Reactive]
        public PokemonListViewModel PokemonListViewModel { get; set; }


        private readonly ObservableAsPropertyHelper<PokemonDetailsViewModel> pokemonDetailsViewModel;
        public PokemonDetailsViewModel PokemonDetailsViewModel => pokemonDetailsViewModel.Value;

        public PokemonViewModel(IPokemonService pokemonService = null)
        {
            PokemonService = pokemonService ?? Locator.Current.GetService<IPokemonService>();

            PokemonListViewModel = new PokemonListViewModel();

            pokemonDetailsViewModel = this.WhenAnyValue(x => PokemonListViewModel.SelectedPokemon)
                .SelectMany(GetPokemonDetailsViewModelAsync)
                .ToProperty(this, x => x.PokemonDetailsViewModel);
        }

        //private methods...
    }   
public类PokemonViewModel:ReactiveObject,IEnableLogger
{
私有只读IPokemonService PokemonService;
[反应性]
公共PokemonListViewModel PokemonListViewModel{get;set;}
私有只读ObservablesPropertyHelper口袋妖怪视图模型;
公共PokemonDetailsViewModel PokemonDetailsViewModel=>PokemonDetailsViewModel.Value;
公共PokemonViewModel(IPokemonService pokemonService=null)
{
PokemonService=PokemonService??Locator.Current.GetService();
PokemonListViewModel=新的PokemonListViewModel();
pokemonDetailsViewModel=this.WhenAnyValue(x=>PokemonListViewModel.SelectedPokemon)
.SelectMany(GetPokemonDetailsViewModelAsync)
.ToProperty(这个,x=>x.PokemonDetailsViewModel);
}
//私有方法。。。
}   
PokemonListViewModel
包含未在构造函数上初始化的
SelectedPokemon
属性,因此在启动时为空

有鉴于此,当我运行应用程序时,会出现以下错误:
“不支持“Constant”类型的表达式。您是否错过了表达式中的成员访问前缀?”


如何解决这个问题?

WhenyValue调用中应该是
x=>x.PokemonListViewModel