You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, CalcManager/CalcEngine is implemented in C++ as part of Calculator. Some teams may want to reuse it as an independent library package. Besides, if we want to convert Calculator App to C#, we need to wrap the CalcEngine in C#.
CalcManager Packaging
Problem Statement
Currently, CalcManager/CalcEngine is implemented in C++ as part of Calculator. Some teams may want to reuse it as an independent library package. Besides, if we want to convert Calculator App to C#, we need to wrap the CalcEngine in C#.
Evidence or User Insights
Potential Consumers
Proposal
Concepts
Functional Requirements
(accept operator/operand commands and calculate the result to display)
arcsin
v.s.inverse sin
v.s.sin^-1
) *The requirements with star (*) are not implemented yet, but will be published eventually.
Usage Requirements
CalcEngine will be consumed by ourselves and 1P teams thru NuGet package.
For us, we need a C# wrapper for CalcEngine, because we will do C# conversion for Calculator App.
In sum, we have the following usage requirements:
Portability Requirements
OS
Languages
Implementation Requirements
Ratpak and CalcEngine are implemented in C++, which won't be changed.
Design Proposal
Choice of Packaging Techniques
To enable interop between C++ and C#, we have 3 choices:
consumed by C# thru P-Invoke
consumed by C# thru COM
consumed by C# thru C#/WinRT
Comparison
All with great efforts
The text was updated successfully, but these errors were encountered: