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

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

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

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

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

1回答

2875閲覧

GetFieldで値を取得できない。

it_p

総合スコア1

C#

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

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2020/07/21 09:28

編集2020/07/21 12:25

前提・実現したいこと

xamarin初心者で他の人が制作したものを自らのPCに移行して作業しているのですが、
現在Androidの箇所にて「GetField()」での値の取得ができません、throwの処理にいってしまいます。

非常に困っておりますのでお手数をお掛けしますが詳しい方がいらっしゃったら教えていただければと存じます。

発生している問題・エラーメッセージ

エラーメッセージ

関係ありそうなのが3点ありまして。

1: **System.InvalidOperationException:** 'Platform is not created' 2: 「名前'local:ViewModel.Point.vm_page_point_binary'は有効な XAML 名ではありません。」 3: [0:] Binding: 'color_popup_dropshadow_prop' property not found on 'HogeAppX.ViewModel.Point.vm_popup_page_point_sel', target property: 'HogeAppX.Core.Control.BoxView_ss.StrokeColor' [0:] Binding: 'color_popup_dropshadow_prop' property not found on 'HogeAppX.ViewModel.Point.vm_popup_page_point_sel', target property: 'HogeAppX.Core.Control.BoxView_ss.FillColor'

該当のソースコード

C#

1//ページ名 PopupNavigationDroid.cs 2[assembly: Dependency(typeof(PopupNavigationDroid))] 3namespace HogeAppX.Droid.PCLInterface 4{ 5 public class PopupNavigationDroid : IPopupNavigation 6 { 7 Context CurrentContext => CrossCurrentActivity.Current.Activity; 8 9 var handleBackPressed = (FormsAppCompatActivity.BackButtonPressedEventHandler)PlatformHelper.GetHandleBackPressed<FormsAppCompatActivity.BackButtonPressedEventHandler>(CurrentContext); 10 11 //con = CurrentContext; ← こちらが上記の関数?で con に値が入ります。 12 13 14 } 15} 16 17//ページ名 PlatformHelper.cs 18public static Delegate GetHandleBackPressed<TDelegate>(Context con) 19{ 20 var platform = GetPlatform(con); 21 22} 23 24 25private static object GetPlatform(Context con) 26{ 27 object platform = null; 28 29 if (con is FormsApplicationActivity) 30 { 31 var activityType = typeof(FormsApplicationActivity); 32 platform = activityType.GetField("_canvas", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(con); 33 } 34 else if (con is FormsAppCompatActivity) 35 { 36 var activityType = typeof(FormsAppCompatActivity); 37 platform = activityType.GetField("_platform", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(con); 38 } 39 40 if (platform == null) 41 { 42 throw new InvalidOperationException("Platform is not created"); 43 } 44 45}

別途怪しい箇所 xaml デザインページ

xaml

1 2<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 3 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 4 x:Class="HogeAppX.View.Point.v_page_point_binary" 5 xmlns:local="clr-namespace:HogeAppX;assembly=HogeAppX" 6 xmlns:ctrl="clr-namespace:HogeAppX.Core.Control;assembly=HogeAppX" 7 Title="プロモーションポイント" 8 BackgroundColor="{Binding color_normal_background_gray_prop}" 9 > 10 11 <ContentPage.BindingContext> 12 <local:ViewModel.Point.vm_page_point_binary> 13 </local:ViewModel.Point.vm_page_point_binary> 14 </ContentPage.BindingContext> 15 16</ContentPage>

試したこと

NuGetパケットマネージャーにて「Xamarin.Forms」のバージョンを3.0.0.482510から4.7.0.1142に変更など色々なバージョンの変更。
ソリューションのクリーン

補足情報(FW/ツールのバージョンなど)

Visual Studi2019

移行前は「local:ViewModel.Point.vm_page_point_binary」に下線がついておらず移行後に下線が付きましたのでここがなぜ読み込めないかが鍵になる気はするのですがどう読み込んでるのかがわかりません・・・

初心者などで不足している情報があるかと存じますので、ご不明な箇所がございましたらご指摘いただければと存じます。

 最小Androidバージョン:Android9.0
ターゲットフレームワーク:Android9.0
ターゲットAndroidバージョン:Android9.0

NuGetライブラリ追記

FastAndroidCamera 2.0.0 Microsoft.Bcl 1.1.10 Microsoft.Bcl.Build 1.0.21 Microsoft.CSharp 4.4.1 Microsoft.Net.Http 2.2.29 Microsoft.NETCore.Platforms 2.0.2 Microsoft.Win32.Primitives 4.3.0 modernhttpclient 2.4.2 NETStandard.Library 2.0.3 Newtonsoft.Json 11.0.2 PCLCrypto 2.0.147 PCLStorage 1.0.2 PInvoke.BCrypt 0.5.147 PInvoke.Kernel32 0.5.147 PInvoke.NCrypt 0.5.147 PInvoke.Windows.Core 0.5.147 Plugin.CurrentActivity 2.1.0.4 Plugin.Permissions 2.2.1 SegmentedControl.FormsPlugin 2.0.1 SkiaSharp 1.60.0 System.AppContext 4.3.0 System.Collections 4.3.0 System.Collections.Concurrent 4.3.0 System.ComponentModel.TypeConverter 4.3.0  System.Console 4.3.0 System.Diagnostics.Debug 4.3.0 System.Diagnostics.Tools 4.3.0 System.Diagnostics.Tracing 4.3.0 System.Globalization 4.3.0 System.Globalization.Calendars 4.3.0 System.IO 4.3.0 System.IO.Compression 4.3.0 System.IO.Compression.ZipFile 4.3.0 System.IO.FileSystem 4.3.0 System.IO.FileSystem.Primitives 4.3.0 System.Linq 4.3.0 System.Linq.Expressions 4.3.0 System.Net.Http 4.3.3 System.Net.Primitives 4.3.0 System.Net.Sockets 4.3.0 System.ObjectModel 4.3.0 System.Reflection 4.3.0 System.Reflection.Extensions 4.3.0 System.Reflection.Primitives 4.3.0 System.Resources.ResourceManager 4.3.0 System.Runtime 4.3.0 System.Runtime.Extensions 4.3.0 System.Runtime.Handles 4.3.0 System.Runtime.InteropServices 4.3.0 System.Runtime.InteropServices.RuntimeInformation 4.3.0 System.Runtime.Numerics 4.3.0 System.Runtime.Serialization.Formatters 4.3.0 System.Runtime.Serialization.Primitives 4.3.0 System.Security.Cryptography.Algorithms 4.3.1 System.Security.Cryptography.Encoding 4.3.0 System.Security.Cryptography.X509Certificates 4.3.2 System.Text.Encoding 4.3.0 System.Text.Encoding.Extensions 4.3.0 System.Text.RegularExpressions 4.3.0 System.Threading 4.3.0 System.Threading.Tasks 4.3.0 System.Threading.Timer 4.3.0 System.Xml.ReaderWriter 4.3.1 System.Xml.XDocument 4.3.0 System.Xml.XmlDocument 4.3.0 Validation 2.4.18 WebP.Touch 1.0.8 Xam.Plugin.Geolocator 4.2.0 Xamarin.Android.Arch.Core.Common 1.1.1.3 Xamarin.Android.Arch.Core.Runtime 1.1.1.3 Xamarin.Android.Arch.Lifecycle.Common 1.1.1.3 Xamarin.Android.Arch.Lifecycle.LiveData 1.1.1.3 Xamarin.Android.Arch.Lifecycle.LiveData.Core 1.1.1.3 Xamarin.Android.Arch.Lifecycle.Runtime 1.1.1.3 Xamarin.Android.Arch.Lifecycle.ViewModel 1.1.1.3 Xamarin.Android.Support.Animated.Vector.Drawable 28.0.0.3 Xamarin.Android.Support.Annotations 28.0.0.3 Xamarin.Android.Support.AsyncLayoutInflater 28.0.0.3 Xamarin.Android.Support.Collections 28.0.0.3 Xamarin.Android.Support.Compat 28.0.0.3 Xamarin.Android.Support.CoordinaterLayout 28.0.0.3 Xamarin.Android.Support.Core.UI 28.0.0.3 Xamarin.Android.Support.Core.Utils 28.0.0.3 Xamarin.Android.Support.CursorAdapter 28.0.0.3 Xamarin.Android.Support.CustomTabs 28.0.0.3 Xamarin.Android.Support.CustomView 28.0.0.3 Xamarin.Android.Support.Design 28.0.0.3 Xamarin.Android.Support.DocumentFile 28.0.0.3 Xamarin.Android.Support.DrawerLayout 28.0.0.3 Xamarin.Android.Support.Fragment 28.0.0.3 Xamarin.Android.Support.Interpolator 28.0.0.3 Xamarin.Android.Support.Loader 28.0.0.3 Xamarin.Android.Support.LocalBroadcastManager 28.0.0.3 Xamarin.Android.Support.Media.Compat 28.0.0.3 Xamarin.Android.Support.Print 28.0.0.3 Xamarin.Android.Support.SlidingPaneLayout 28.0.0.3 Xamarin.Android.Support.SwipeRefreshLayout 28.0.0.3 Xamarin.Android.Support.Transition 28.0.0.3 Xamarin.Android.Support.v4 28.0.0.3 Xamarin.Android.Support.v7.AppCompat 28.0.0.3 Xamarin.Android.Support.v7.CardView 28.0.0.3 Xamarin.Android.Support.v7.MediaRouter 28.0.0.3 Xamarin.Android.Support.v7.Palette 28.0.0.3 Xamarin.Android.Support.v7.RecyclerView 28.0.0.3 Xamarin.Android.Support.Vector.Drawable 28.0.0.3 Xamarin.Android.Support.VersionedParcelable 28.0.0.3 Xamarin.Android.Support.ViewPager 28.0.0.3 Xamarin.Auth 1.6.0.4 Xamarin.Build.Download 0.4.11 Xamarin.FFImageLoading 2.3.6 Xamarin.FFImageLoading.Forms 2.3.6 Xamarin.FFImageLoading.Svg 2.3.6 Xamarin.FFImageLoading.Svg.Forms 2.3.6 Xamarin.FFImageLoading.Transformations 2.3.6 Xamarin.Firebase.Common 71.1610.0 Xamarin.Firebase.Iid 71.1710.0 Xamarin.Firebase.Iid.Interop 71.1601.0 Xamarin.Firebase.Measurement.Connector 71.1701.0 Xamarin.Firebase.Messaging 71.1740.0 Xamarin.Forms 4.7.0.1142 Xamarin.Forms.CarouselView 2.3.0-pre2 Xamarin.Forms.Maps 3.0.0.482510 Xamarin.Google.AutoValue.Annotations 1.6.5 Xamarin.GooglePlayServices.Base 71.1610.0 Xamarin.GooglePlayServices.Basement 71.1620.0 Xamarin.GooglePlayServices.Maps 71.1610.0 Xamarin.GooglePlayServices.Stats 71.1601.0 Xamarin.GooglePlayServices.Tasks 71.1601.0 XamForms.Controls.Calendar 1.1.1 ZXing.Net.Mobile 2.4.1 ZXing.Net.Mobile.Forms 2.4.1

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

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

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

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

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

takapi_cs

2020/07/21 11:04

下記の編集をお願いします。 ・ソースコードを```で囲って見やすくしましょう ・```の後ろには対応する言語(今回の場合はC#かxaml)を記載しましょう ・Androidプロジェクトのプロパティから「ターゲットフレームワーク」、「ターゲットAndroidバージョン」を教えてください ・使用しているNuGetライブラリが気になるので一覧を用意できますか?(ライブラリが多くて手間になるのであれば、ひとまずRg.Plugins.Popupを使用しているかどうかだけ教えてください) ・vm_page_point_binaryクラスを提示できますか?
it_p

2020/07/21 11:38

・ソースコードを```で囲って見やすくしましょう  → ご指摘ありがとうございます、かなり急いでおりましたので乱雑になっておりました。 ・```の後ろには対応する言語(今回の場合はC#かxaml)を記載しましょう  → こちらもご指摘ありがとうございます、修正させていただきました。 ・Androidプロジェクトのプロパティから「ターゲットフレームワーク」、「ターゲットAndroidバージョン」を教えてください  →     最小Androidバージョン:Android9.0    ターゲットフレームワーク:Android9.0    ターゲットAndroidバージョン:Android9.0 ・使用しているNuGetライブラリが気になるので一覧を用意できますか?(ライブラリが多くて手間になるのであれば、ひとまずRg.Plugins.Popupを使用しているかどうかだけ教えてください)  → 「Rg.Plugins.Popup」は使用しておりません、他のライブラリは只今編集しているので今しばらくお待ちくださいませ(完了次第編集させていただきます)。 ・vm_page_point_binaryクラスを提示できますか? ``` C# namespace HogeAppX.ViewModel.Point { public class vm_page_point_binary : ViewModel_ss { #region 変数 private FormattedString next_month_get_point_formattext_local = null; public FormattedString next_month_get_point_formattext_prop { get { return next_month_get_point_formattext_local; } set { next_month_get_point_formattext_local = value; on_property_changed("next_month_get_point_formattext_prop"); } } private FormattedString point_clear_norm_text_local = null; public FormattedString point_clear_norm_text_prop { get { return point_clear_norm_text_local; } set { point_clear_norm_text_local = value; on_property_changed("point_clear_norm_text_prop"); } } private string point_volume_text_local = ""; public string point_volume_text_prop { get { return point_volume_text_local; } set { point_volume_text_local = value; on_property_changed("point_volume_text_prop"); } } private string point_save_text_local = ""; public string point_save_text_prop { get { return point_save_text_local; } set { point_save_text_local = value; on_property_changed("point_save_text_prop"); } } private string point_cap_text_local = ""; public string point_cap_text_prop { get { return point_cap_text_local; } set { point_cap_text_local = value; on_property_changed("point_cap_text_prop"); } } private FormattedString get_clear_norm_text_local = null; public FormattedString get_clear_norm_text_prop { get { return get_clear_norm_text_local; } set { get_clear_norm_text_local = value; on_property_changed("get_clear_norm_text_prop"); } } private string point_get_text_local = ""; public string point_get_text_prop { get { return point_get_text_local; } set { point_get_text_local = value; on_property_changed("point_get_text_prop"); } } private Command question_norm_command_local = null; public Command question_norm_command_prop { get { if (question_norm_command_local == null) { question_norm_command_local = new Command(Question_Button_exe); } return question_norm_command_local; } } private ImageSource point_binary_top_question_image_local = ImageSource.FromResource(ConstantValues.FileName.Questions.Question_Circle); public ImageSource point_binary_top_question_image_prop { get { return point_binary_top_question_image_local; } set { point_binary_top_question_image_local = value; on_property_changed("point_binary_top_question_image_prop"); } } #endregion #region クエスチョンボタン押下時 private void Question_Button_exe(object obj) { if (arg_item_prop.base_page_prop.IsBusy) return; arg_item_prop.base_page_prop.IsBusy = true; MsgArgment msg_arg = new MsgArgment(); msg_arg.msg_l_kind_prop = arg_item_prop.msg_l_kind_prop; msg_arg.msg_m_kind_prop = "v_popup_page_point_question"; msg_arg.msg_s_kind_prop = ConstantValues.MessageFuncKind.Popup.VisibleChange; ArgmentItem popup_arg = new ArgmentItem(this.arg_item_prop); popup_arg.msg_argment_prop = msg_arg; popup_arg.commonValues.StrValue1 = "4"; View.Point.v_popup_page_point_question popup_page = new View.Point.v_popup_page_point_question(); popup_page.Initialize(popup_arg); arg_item_prop.base_page_prop.Navigation.PushPopupAsync(popup_page); //戻りのメッセージは小分類をReturnにする msg_arg.msg_s_kind_prop = ConstantValues.MessageFuncKind.Return; Func_Neolifer.Func.MessageRecv(this, msg_arg, point_select_callback); } private void point_select_callback(object sender, object arg) { arg_item_prop.base_page_prop.IsBusy = false; if (arg != null && arg is MsgArgment) { Func_Neolifer.Func.MessageRecv_Delete(this, (MsgArgment)arg); } return; } #endregion #region 初期処理 /// <summary> /// 表示するデータを取得、表示する /// </summary> /// <param name="user_id"></param> public async void PageInitialize_pb(string user_id) { m_point point = new m_point(); m_font_color font_color = new m_font_color(); m_point.Fetch_Point_Binary_List_Result result = await point.Fetch_Point_Binary_List_exe(user_id); if (result.result_bool == true) {//正常 if (result.result_kind == "1") { Device.BeginInvokeOnMainThread(() => { next_month_get_point_formattext_prop = CreateNextPointTextFormat(result.next_month_get_point_text, result.next_month_get_point_unit_text); point_clear_norm_text_prop = font_color.CreateNormPointTextFormat(result.next_month_get_point_norm_text); point_volume_text_prop = result.volume_point_text; point_save_text_prop = result.save_point_text; point_cap_text_prop = result.cap_point_text; get_clear_norm_text_prop = font_color.CreateNormPointTextFormat(result.get_norm_text); point_get_text_prop = result.get_point_text; }); } else if (result.result_kind == "90") { //メンテナンス中 Device.BeginInvokeOnMainThread(() => { this.arg_item_prop.app_prop.ChangeMaintenance(); }); } else if (result.result_kind == "95") { AppUpdateInduction(result.update_url); } else { Device.BeginInvokeOnMainThread(async () => { await arg_item_prop.base_page_prop.DisplayAlert("エラー", result.error_msg, "OK"); await arg_item_prop.base_page_prop.Navigation.PopPopupAsync(); }); } } else { Device.BeginInvokeOnMainThread(async () => { await arg_item_prop.base_page_prop.DisplayAlert("通信エラー", result.error_msg, "OK"); await arg_item_prop.base_page_prop.Navigation.PopPopupAsync(); }); } } #endregion #region 書式作成関係 #region 現在のポイント書式 public FormattedString CreateNextPointTextFormat(string point_text, string unit_text) { FormattedString result = new FormattedString(); Span point = new Span(); point.Text = point_text; point.FontAttributes = FontAttributes.Bold; point.FontSize = (double)33.0; point.ForegroundColor = ConstantValues.Design.Color.Text.Text_Black.Color; Span unit = new Span(); unit.Text = unit_text; unit.FontAttributes = FontAttributes.Bold; unit.FontSize = (double)21.0; unit.ForegroundColor = ConstantValues.Design.Color.Text.Text_Black.Color; result.Spans.Add(point); result.Spans.Add(unit); return result; } /* public FormattedString CreateNormPointTextFormat(string text) { FormattedString result = new FormattedString(); Span point = new Span(); point.Text = text; point.FontAttributes = FontAttributes.Bold; //point.FontSize = (double)13.0; if (text == "Clear") { point.ForegroundColor = ConstantValues.Design.Color.Text.Text_Blue.Color; } else { point.ForegroundColor = ConstantValues.Design.Color.Text.Text_Red.Color; } result.Spans.Add(point); return result; } */ #endregion #endregion } } ```
takapi_cs

2020/07/21 11:53

もう1点質問ですが、質問の該当のソースコードで提示してもらった変数conは何が設定されていますか? 昔の設定方法でContextが設定されているような気がします。
it_p

2020/07/21 12:28

C#のプログラムに追記させていただきました。 CrossCurrentActivityが入ってるかと存じます、 質問に答えられてなければ申し訳ございません。
takapi_cs

2020/07/21 12:56

Context CurrentContext => CrossCurrentActivity.Current.Activity; の箇所の型を、 Activity CurrentContext => CrossCurrentActivity.Current.Activity; のようにActivityで取得すれば該当のエラーは消えるかもしれませんが、他の場所への影響が少し気になります。
it_p

2020/07/21 13:12

PopupNavigationDroid.csをActivity CurrentContext => CrossCurrentActivity.Current.Activity; に変更した後 using Android.App;をPlatformHelper.csに追記して public static Delegate GetHandleBackPressed<TDelegate>(Activity con) private static object GetPlatform(Activity con) に変更いたしましたがやはり「GetField」の返り値は「Null」になってしまいます。 「GetField」の「con」の内容は下記になります。 {crc6449f36d91b85bb21f.MainActivity@f86e6f0}
it_p

2020/07/21 13:44

勉強不足で申し訳ないのですが xamlのページにて  xmlns:local="clr-namespace:HogeAppX;assembly=HogeAppX" を指定しているのに下記のプログラムにて「名前'local:ViewModel.Point.vm_page_point_binary'は有効な XAML 名ではありません。」とでるのはなぜなのでしょうか、localという変数に文言を入れているイメージなのですが・・・。 <ContentPage.BindingContext> <local:ViewModel.Point.vm_page_point_binary> </local:ViewModel.Point.vm_page_point_binary> </ContentPage.BindingContext> ソリューションの構成プロパティでdebugからRelaseにしたりなど変更してもかわりませんでした。
takapi_cs

2020/07/21 13:46

先程の件は私の動作確認不足でした。失礼しました。 CrossCurrentActivity.Current.Activityを使わず、 var context = Android.App.Application.Context; のようにContextを用意する場合はどうでしょうか? Rg.Plugins.PopupのIssueに似たような事象が上がっていたのでリンクを貼っておきます。 https://github.com/rotorgames/Rg.Plugins.Popup/issues/199 https://github.com/rotorgames/Rg.Plugins.Popup/commit/fc549e11b75605fa9d78dcf7e733edead3cd5b3e
it_p

2020/07/21 14:15 編集

いえ、こんな時間までご相談にのって頂けるだけ誠にありがたいです。ありがとうございます! 2パターン試させていただきましたが返り値は「null」になってしまいます、 「con」の内容と「context」は同じ値{crc6449f36d91b85bb21f.MainActivity@f86e6f0}が入ってるかと感じました。 // 1パターン目 private static object GetPlatform(Context con) {  object platform = null;  var context = Android.App.Application.Context;  platform = activityType.GetField("_platform", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(context); } //2パターン目 private static object GetPlatform(Context con) {  object platform = null;  con = Android.App.Application.Context;  platform = activityType.GetField("_platform", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(con); }
guest

回答1

0

ベストアンサー

Platformクラスを取得したいのであれば、Xamarin.Formsのバージョンが4.7.0.1142なら、以下のようにすれば取得できると思います。

C#

1private static object GetPlatform(Context con) 2{ 3 object platform = null; 4 5 if (con is FormsApplicationActivity) 6 { 7 var activityType = typeof(FormsApplicationActivity); 8 platform = activityType.GetProperty("Platform", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(con); 9 } 10 else if (con is FormsAppCompatActivity) 11 { 12 var activityType = typeof(FormsAppCompatActivity); 13 platform = activityType.GetProperty("Platform", BindingFlags.NonPublic | BindingFlags.Instance)?.GetValue(con); 14 } 15 16 if (platform == null) 17 { 18 throw new InvalidOperationException("Platform is not created"); 19 } 20 21}

何をしたいのかがよくわからないので何とも言えませんが、今回のように名前が変わってしまうこともあるので、できる限りリフレクションを使わなくても実現できないかをまず考えるべきではないかと思います。(古いバージョンでのコードのようですし)

投稿2020/07/21 15:34

編集2020/07/21 15:37
f-miyu

総合スコア1625

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

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

it_p

2020/07/21 17:21

takapi_cs様、f-miyu様 誠にありがとうございました! > 何をしたいのかがよくわからないので何とも言えませんが、今回のように名前が変わってしまうこともあるので、できる限りリフレクションを使わなくても実現できないかをまず考えるべきではないかと思います。 なるほど、私が制作する際には留意させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問