質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

2137閲覧

PCLで定義されたSystem.Numerics.Matrix3x2を使うクラスを継承したクラスでエラー

omanuke

総合スコア109

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2016/10/10 10:04

8.1ストアアプリでWin2Dを使おうとして今System.Numerics.Matrix3x2がらみでエラーが出ています。

Win2Dではなにやら次のようにSystem.Numerics.Matrix3x2とMicrosoft.Graphics.Canvas.Numericsとで変換だか何かを行っているようなのですが、
Why does Win2D include three different sets of vector and matrix types?
それがらみかC#のPCLでSystem.Numerics.Matrix3x2を使ったクラスをストアアプリ側で継承・定義しようとすると次のようなエラーが出ます。

error CS1715: 'Note.NoteViewEtc.Win2DGraphics3.Transform': type must be 'System.Numerics.Matrix3x2' to match overridden member 'NoteAppCommon.NoteViewEtc.Graphics3.Transform' error CS0534: 'Note.NoteViewEtc.Win2DGraphics3' does not implement inherited abstract member 'NoteAppCommon.NoteViewEtc.Graphics3.Transform.get' error CS0534: 'Note.NoteViewEtc.Win2DGraphics3' does not implement inherited abstract member 'NoteAppCommon.NoteViewEtc.Graphics3.Transform.set'

添付の写真の左側がPCL側のソースです。
こちらでGraphics3を定義し、同様のものをストアアプリ側でもGraphics2として定義しています。
各々Win2DGraphics3,Win2DGraphics2として継承しているのですが、Win2DGraphics3でだけ上記のエラーが出ます。

Transformの型がSystem.Numerics.Matrix3x2でないとダメとあるのですが、System.Numerics.Matrix3x2と書いているつもり…

PCL側ではNugetでSystem.Numerics.Vectorsを取得して使っていますが、これがストアアプリ側で見えているSystem.Numerics.Matrix3x2と異なる扱いになっている?それともPCL側で定義することで上記のリンクにあるようなMicrosoft.Graphics.Canvas.Numericsとの変換?が何やらうまくいかなくなる?

前者のような気もしますが、何かわかる方いましたら情報頂けると助かります。
よろしくお願いします。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

ライブラリ作者に直接聞いてみました。結論から言うと8.1向けのWin2dでは同名のクラスをライブラリ内部で定義してるのでNugetのSystem.Numerics.Vectorsと併用するのは不可とのこと。
10以降をターゲットとするなら併用可能のようです。
question on Github

投稿2016/10/11 01:40

omanuke

総合スコア109

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問