问题标签 [lateinit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# 不可为空的字段:Lateinit?
我想知道如何在 C# 中将后期初始化的类字段与可为空的引用类型一起使用。想象一下下面的类:
上面的代码非常简化。我真正的班级使用了更多的领域,比如doc
还有一些带有一些参数的构造函数。
使用上面的代码,我在构造函数上得到一个编译器警告,doc
没有初始化,这是正确的。我可以通过将类型设置为doc
to来解决这个问题PdfDoc?
,但是我必须使用?.
或使用!.
它的任何地方,这很讨厌。
我也可以将doc
每个方法作为参数传递,但请记住,我有一些这样的字段,这违反了我眼中的干净代码原则。
我正在寻找一种方法来告诉编译器,我将doc
在使用它之前进行初始化(实际上我这样做了,调用者不可能获得空引用异常!)。我认为 Kotlinlateinit
正是为此目的而使用了修饰符。
您将如何在“干净”的 C# 代码中解决这个问题?
spring - Kotlin Autowired 问题 - lateinit (obv)
我对 kotlin 比较陌生,我无法理解弹簧自动装配
运行此程序时出现上述错误:
这里发生了什么?顺便说一句,为什么需要lateinit,以及“它”何时被初始化?
android - 在 onCreateView 中初始化的变量出现“Lateinit 属性尚未初始化”错误
我正在开发的应用程序有三个类。MainActivity
(这里不重要)MyFragment
和MyClass
. 我lateinit
里面有一个 List MyFragment
- 这是lateinit
因为它会被某些方法使用。(顺便说一下,我正在使用 kotlin 合成)
然后MyClass
:
但是每当showViews()
被调用时,我都会收到“lateinit property myViewsList not initialized”错误(当片段被销毁、启动或类似的东西时它不会被调用。在我的应用程序中,调用它需要大约 10 秒 -为简单起见,我只是将其放入 aOnClickListener
中——在这 10 秒内没有任何活动变化)。
我不明白为什么,因为它是在 OnCreateView中初始化myViewsList = listOf<View>(viewA,viewB,viewC)
的。任何涉及myViewsList
inside的调用MyFragment
都很好,但不是 inside MyClass
。那么,为什么会这样呢?调用或初始化它的正确方法是什么?
flutter - 如何知道 dart(flutter) 中是否已经初始化了 late init?
我正在从 Flutter 中的 url 获取数据。我有一个名为表的后期初始化地图。我在 initState() 函数中获取数据。当我第一次启动应用程序时,我在红屏上收到 LateInizialization 错误。我想检测延迟初始化是否已初始化,如果未初始化则显示微调器。这是我的代码。
android - 我们什么时候应该为一个对象选择lateinit?将绑定设置为非可选和延迟初始化是不好的做法吗?
我被声明为片段中的绑定对象,lateinit var binding: EditInsuranceDialogBinding
但一位同事说“这是一种不好的做法,绑定对象应该是可选的。”
所以在声明中将改为这样:var binding: EditInsuranceDialogBinding? = null
,在中初始化onCreateContentView
并null
在onDestroyView
我想知道什么是最好的选择绑定类型(可选或不)?并且lateinit在编译器和内存中花费很多吗?什么时候不应该选择lateinit ,什么时候应该使用它?
android-recyclerview - lateinit 属性 recyclerViewAdapter 尚未在 com.example.recyler_view_data_binding.MainActivity.onCreate(MainActivity.kt:22) 初始化
“主要活动”
正如您通过错误看到我的代码,lateint var is not initilizing 导致:kotlin.UninitializedPropertyAccessException:lateinit property recyclerViewAdapter has not been initialized at com.example.recyler_view_data_binding.MainActivity.onCreate(MainActivity.kt:22)
包 com.example.recyler_view_data_binding
“适配器类”包 com.example.recyler_view_data_binding
fragment - Lateinit var 属性未初始化
我用文本视图创建了一个片段,但每次运行代码时,我都会收到一条错误消息,提示“tipAmount 属性未初始化”。我似乎无法弄清楚出了什么问题。这是代码: