1

https://github.com/nokia-developer/rate-my-appという nokia の素敵なアドオンを見つけました。

私は彼らのガイドに従ってアプリに実装しました。ここからダウンロードできますhttps://github.com/nokia-developer/rate-my-app/blob/master/Doc/RateMyAppGuide.pdf?raw=true

そのガイドでは難しいことは何もありません。ちなみに、プロジェクトにアドオンをインストールし、2 行のコードを追加するだけで済みました。

xmlns:rma="clr-namespace:RateMyApp.Controls;assembly=RateMyApp"

<rma:FeedbackOverlay x:Name="FeedbackOverlay" Grid.RowSpan="2" FeedbackTo="me@test.com" ApplicationName="MyApp" CompanyName="MyCompany"/>

私は実際にすべてを実行しましたが、まったく問題は発生しませんでした。rma:FeedbackOverlay オブジェクトの XAML コードを編集しようとすると、「GUI」ウィンドウ (XAML プロジェクトに近いウィンドウ) で次の例外がスローされます。

InvalidOperationException: The property "FeedbackOverlay.Message" does not expose a get method.
InnerException: None
(there is also a StackTrace that I am not able to read, but I can provide it if anyone can read that for me)

デバイスにアプリをデプロイしてみましたが、実際には問題なく動作し、拡張機能が意図したとおりに機能します。しかし、私はその例外について心配しています。私には理由がありますか?どうすれば解決できますか?前もって感謝します!

(はい、PC の再起動、IDE の再起動を試みましたが、何も機能しませんでした)

4

1 に答える 1

3

このアドオンのコードを確認しました。ここで FeedbackOverlay.xaml.cs を開くと、Message プロパティに get アクセサーがないことがわかります。

public string Message
{
   // get { //something } - is not here
   set
   {
      // some code
   }
}

ただし、この場合 (このプロパティはメッセージを定義するためだけに使用され、メッセージを取得しないため)、get アクセサーは必要ありません。したがって、取得する例外はおそらく Visual Studio からのみであり、メッセージの値を取得しようとした場合に問題が発生する可能性があることを通知します。
したがって、Message の値を取得しようとしない限り、たとえば次のようになります。

string myMessage = FeedbackOverlay.Message;

問題はないはずです (VS もこのコードを上記にマークする必要があります)。xaml でこの値を取得しようとすると (たとえばバインディングを使用して)、問題が発生する可能性もあります。

また、そのような問題が発生したことを開発者 (Github またはプロジェクトのどこかで簡単に見つけることができるでしょう) に通知しておけばよかったと思います。

お役に立てれば。

于 2014-01-31T07:17:26.247 に答える