ストアアプリ内でコードを少し変更した後、コンパイルエラーが発生しました。
-> System.VoidはC#からは使用できません-typeof(void)を使用してvoid型オブジェクトを取得します。
問題は次のとおりです。これは生成されたファイルXamlTypeInfo.g.csからのものです。
case "System.Void"
userType= new ... ,typeof(global::System.Void), ...
...
bin&objの削除、再起動など、変更をロールバックしても効果はありませんでした。
実際のSystem.Voidケースエントリは、XAMLファイル内の何かがコードジェネレーターによって認識されなかったことを示している可能性がありますか?動作中のXamlTypeInfo.g.csにSystem.Voidエントリがありますか?
---追加---特定の行を変更するときにコンパイルエラーを生成できるようになりました。ItemsControlから派生したカスタムコントロールがあります。正常に動作する通常のDPを定義します。Template、TemplateSelector、StyleのAttachedPropertiesも提供しています。AttachedPropertyを介してラベルを取得するテキストボックスを考えてみてください。その文字列だけでなく、HeaderedControlsのように、Lableのテンプレートなどを定義できます。
この問題は、AttachedPropのGet/Setメソッドに関連しています。Getterの戻りタイプをDataTemplateに変更するか、Setterを完全にコメントアウトすると、コンパイルエラーが発生します。
public static DataTemplate GetLabelTEmplate(UIElement element)
{
return (DataTemplate)element.GetValue(LabelTemplateProperty;
}
public static void SetLabelTemplate(UIElement element, object value)
{
element.SetValue(LabelTemplateProperty, value);
}
任意のアイデアをいただければ幸いです。
よろしくGope