假设我有2个//Only relevant code below
HttpContext.Current.Server.Execute(path, writer);
//path is filepath of aspx file
string msg = writer.ToString();
//filename is the html file
using (StreamWriter sw = new StreamWriter(filename,true)){
sw.write(msg);
sw.Dispose();
}
mail.Attachments.Add(new Attachment(filename));
变量。
LatLng
假设它们都已经被初始化为某些值。
如果我尝试这样做:
lateinit var mLatLng1:LatLng
lateinit var mLatLng2:LatLng
它按预期工作。但是,当我尝试这样做时:
mLatLng1 = mLatLng2
我得到一个错误:
无法重新分配Val
如果我的mLatLng1.latitude = mLatLng2.latitude
变量的类型为mLatLng1
,那么为什么会出现此错误?
答案 0 :(得分:3)
如果我的mLatLng1变量的类型为var,那么为什么会出现此错误?
因为您没有为mLatLng1
分配内容。那应该是:
mLatLng1 = LatLng(45.0, 123.0)
相反,您正在执行此操作:
mLatLng1.latitude = mLatLng2.latitude
这正试图更新内部 mLatLng1
中的字段。而且,如果您的对象是this LatLng
,则这些字段是final
,在Kotlin中它们映射到val
。