我正在学习Xamarin,在一个教程中,我看到了以下代码:
using System;
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using System.IO;
using Xamarin.Forms;
[assembly: Dependency(typeof(Notes.Droid.DadosEspecificos))]
namespace Notes.Droid
{
[Activity(Label = "Notes", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
}
}
public class DadosEspecificos : IDadosEspecificos
{
public string CaminhoDB(string NomeDB)
{
return Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), NomeDB);
}
}
}
该项目是跨平台空白应用程序(Xamarin.Forms Portable)。
我想知道下面一行的含义是什么:
[assembly:Dependency(typeof(Notes.Droid.DadosEspecificos))]
为什么有必要?
感谢。
答案 0 :(得分:0)
Xamarin.Forms允许开发人员在特定于平台的项目中定义行为。依赖性服务找到正确的平台实现,允许共享代码访问本机功能。
见这里
https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/dependency-service/