Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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# Android Chronometer有.start()和.stop(),但没有.get/setBase()_C#_Android_Visual Studio_Xamarin_Mono - Fatal编程技术网

C# Android Chronometer有.start()和.stop(),但没有.get/setBase()

C# Android Chronometer有.start()和.stop(),但没有.get/setBase(),c#,android,visual-studio,xamarin,mono,C#,Android,Visual Studio,Xamarin,Mono,已为VS15社区安装xamarin 类正在使用Android.Widget Chronometer在Android.Widget.Chronometer中 在第6行和第11行,我得到“不包含方法的定义”错误: “Chronometer”不包含“setBase”的定义,并且找不到接受“Chronometer”类型的第一个参数的扩展方法“setBase”(是否缺少using指令或程序集引用?) 但计时表确实有.Start()和.Stop()的定义。为什么没有挫折 然而 注意,这些方法应该是小写的:.

已为VS15社区安装xamarin

类正在使用Android.Widget

Chronometer在Android.Widget.Chronometer中

在第6行和第11行,我得到“不包含方法的定义”错误:

“Chronometer”不包含“setBase”的定义,并且找不到接受“Chronometer”类型的第一个参数的扩展方法“setBase”(是否缺少using指令或程序集引用?)

但计时表确实有.Start()和.Stop()的定义。为什么没有挫折

然而

注意,这些方法应该是小写的:.start()和.stop()

我不确定从哪里开始寻找参考/使用问题

        Chronometer chrono = FindViewById<Chronometer>(Resource.Id.chronometer1);
        var chronoActionButton = FindViewById<Button>(Resource.Id.btnStopwatchController);
        chronoActionButton.Text = (!isRunning) ? Resources.GetString(Resource.String.stopwatchconrollerButton_text, "Start") : Resources.GetString(Resource.String.stopwatchconrollerButton_text, "Stop");
        chronoActionButton.Click += (object sender, System.EventArgs e) => {
            if (!isRunning) {
                chrono.setBase(SystemClock.ElapsedRealtime() + timeWhenStopped);
                isRunning = true;
                chronoActionButton.Text = Resources.GetString(Resource.String.stopwatchconrollerButton_text, "Stop");
                chrono.Start();
            } else {
                timeWhenStopped = chrono.getBase() - SystemClock.ElapsedRealtime();
                isRunning = false;
                chronoActionButton.Text = Resources.GetString(Resource.String.stopwatchconrollerButton_text, "Start");
                chrono.Stop();
            }
        };
Chronometer chrono=findviewbyd(Resource.Id.Chronometer 1);
var chronoActionButton=findviewbyd(Resource.Id.btnStopwatchController);
chronoActionButton.Text=(!正在运行)?Resources.GetString(Resource.String.stopwatchconrollerButton_文本,“开始”):Resources.GetString(Resource.String.stopwatchconrollerButton_文本,“停止”);
计时操作按钮。单击+=(对象发送者,System.EventArgs e)=>{
如果(!正在运行){
计时设置(SystemClock.ElapsedRealtime()+停止时的时间);
isRunning=true;
chronoActionButton.Text=Resources.GetString(Resource.String.stopwatchconrollerButton_Text,“停止”);
chrono.Start();
}否则{
timeWhenStopped=chrono.getBase()-SystemClock.ElapsedRealtime();
isRunning=false;
chronoActionButton.Text=Resources.GetString(Resource.String.stopwatchconrollerButton_Text,“开始”);
计时停止();
}
};

Xamarin通常将方法和属性名称转换为更标准的C#约定-大小写混合而不是小写,使用属性名称而不是get/set方法

因此,getBase和setBase被转换为具有getter和setter的单个Base属性


请参阅:

计时器具有基本属性。因此,您只需键入
chrono.Base
,而不是
chrono.GetBase()

谢谢您的快速响应!1个问题:我如何知道什么时候应该参考Android的文档或Xamarin的文档?在大多数情况下,只要记住C#等价物是什么,您可以参考这两个文档。还有关于其他语言差异的更多细节。