Skip to content

Commit 2dc18e0

Browse files
committed
feat(notimplemented): Update error messages to include a link for not implemented APIs
1 parent 0f0c86b commit 2dc18e0

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## The member/type is not implemented
2+
3+
Uno Platform is built around providing the full APIs provided by WinRT and WinUI, by replicating the available surface to be used in Uno Platform apps.
4+
5+
This surface is very large and with the help of the community, the Uno Platform team is hard at work to add support for APIs that are marked as "Not Implemented".
6+
7+
If you're visiting this page after having clicked on a link in your application's debug log or exception view, this means you're using directly or indirectly an API that is not implemented.
8+
9+
Multiple directions are available:
10+
- Make sure that you are using the latest available stable packages for Uno Platform (Uno.WinUI or Uno.UI)
11+
- Find the API (Type, method or property) in the Issues list, and if it's not already present, create one so the team knows you're trying to use it. Make sure to let us know your use case and it may drive priorities.
12+
- If you're up for it, you can contribute an implementation for this API
13+
14+
The Uno Platform team [offers professional support](https://platform.uno/support/) to get issues sorted our faster.

src/Uno.Foundation/Metadata/ApiInformation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public static bool IsEnumNamedValuePresent(string enumTypeName, string valueName
143143

144144
internal static void TryRaiseNotImplemented(string type, string memberName)
145145
{
146-
var message = $"The member {memberName} is not implemented in Uno.";
146+
var message = $"The member {memberName} is not implemented in Uno. For more information visit https://aka.platform.uno/notimplemented?m={Uri.EscapeDataString(type + "." + memberName)}";
147147

148148
if (IsFailWhenNotImplemented)
149149
{

src/Uno.UWPSyncGenerator/Generator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -984,7 +984,7 @@ private void BuildNotImplementedException(IndentedStringBuilder b, ISymbol membe
984984
if (forceRaise)
985985
{
986986
b.AppendLineInvariant(
987-
$"throw new global::System.NotImplementedException(\"The member {memberName} is not implemented in Uno.\");"
987+
$"throw new global::System.NotImplementedException(\"The member {memberName} is not implemented. For more information visit https://aka.platform.uno/notimplemented?m={Uri.EscapeDataString(memberName)}\");"
988988
);
989989
}
990990
else

0 commit comments

Comments
 (0)