public IEnumerable <PropertyDescriptor> GetPropertyDescriptors(IProjectItem projectItem) { var project = (IProject)projectItem; yield return(new ReSharperPropertyDescriptor <string, IProject>(myLifetime, myLocks, name: "UnityVersion", defaultValue: "Unspecified", displayName: "Unity Version", description: "The version of Unity being targeted by the project. Used by ReSharper to validate APIs.", projectItem: project, getValueAction: p => { var s = myUnityVersion.GetActualVersion(project).ToString(2); var n = myUnityApi.GetNormalisedActualVersion(project).ToString(2); if (s == n) { return s; } return $"{s} (using API info for {n})"; }, setValueAction: (p, value) => { })); }