diff --git a/cswinrt/code_writers.h b/cswinrt/code_writers.h index 61aab3ab4..4a8e74574 100644 --- a/cswinrt/code_writers.h +++ b/cswinrt/code_writers.h @@ -900,7 +900,7 @@ set => %.% = value; else { w.write(R"( -{typeof(%), new Lazy<%>(() => (%)(object)new SingleInterfaceOptimizedObject(typeof(%), _inner))},)", +{typeof(%), new Lazy<%>(() => (%)(object)new SingleInterfaceOptimizedObject(typeof(%), _inner ?? ((IWinRTObject)this).NativeObject))},)", interface_name, interface_name, interface_name,