我创建了一个构造函数并获得错误:非静态字段需要对象引用,方法如何修复
本文关键字:字段 静态 对象引用 何修复 方法 错误 创建 构造函数 一个 | 更新日期: 2023-09-27 18:03:27
我的项目是在c#中使用xamarin android.
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Speech.Tts;
using System.IO;
using System.Windows;
using System.Collections.Generic;
using System.Linq;
namespace App5
{
[Activity(Label = "App5", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
int count = 1;
public MainActivity()
{
var langAvailable = new List<string> { "Default" };
var localesAvailable = Java.Util.Locale.GetAvailableLocales().ToList();
foreach (var locale in localesAvailable)
{
LanguageAvailableResult res = TextToSpeech.IsLanguageAvailable(locale);
switch (res)
{
case LanguageAvailableResult.Available:
langAvailable.Add(locale.DisplayLanguage);
break;
case LanguageAvailableResult.CountryAvailable:
langAvailable.Add(locale.DisplayLanguage);
break;
case LanguageAvailableResult.CountryVarAvailable:
langAvailable.Add(locale.DisplayLanguage);
break;
}
}
}
这一行:
TextToSpeech.IsLanguageAvailable(locale)
我得到错误:
错误1:非静态字段,方法或属性需要对象引用Android.Speech.Tts.TextToSpeech.IsLanguageAvailable(Java.Util.Locale)
试图将构造函数更改为静态或将变量LanguageAvailableResult
更改为静态,但没有帮助。
var tts=new TextToSpeech();
LanguageAvailableResult res=tts.IsLanguageAvailable(locale);