C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でリフレクションを使用してメソッドとプロパティを表示するにはどうすればよいですか?


リフレクションは、コード内のタイプ、メソッド、およびフィールドのメタデータを記述するプロセスです。名前空間System.Reflectionを使用すると、ロードされたアセンブリ、クラス、メソッド、値型などのアセンブリ内の要素に関するデータを取得できます。 System.Reflectionには多数のクラスがありますが、最も一般的に使用されるクラスは、Assembly、AssemblyName、ConstructorInfo、MethodInfo、ParameterInfo、EventInfo、PropertyInfo、およびMemberInfoです。

static void Main(string[] args){
   TypeInfo myType = typeof(TextInfo).GetTypeInfo();
   IEnumerable<PropertyInfo> properties = myType.DeclaredProperties;
   IEnumerable<MethodInfo> methods = myType.DeclaredMethods;
   Console.WriteLine(myType);
   Console.WriteLine(properties);
   Console.WriteLine(methods);
   StringBuilder strBuilder = new StringBuilder();
   Console.WriteLine();
   strBuilder.Append("The properties are:");
   foreach (PropertyInfo p in properties){
      strBuilder.Append("\n" + p.Name);
   }
   strBuilder.Append("\n");
   strBuilder.Append("\nThe methods are:");
   foreach (MethodInfo m in methods){
      strBuilder.Append("\n" + m.Name);
   }
   Console.WriteLine(strBuilder);
}

出力

InvariantANSICodePageOEMCodePageMacCodePageEBCDICCodePageLCIDCultureNameIsReadOnlyListSeparatorIsAsciiCasingSameAsInvariantIsRightToLeftThe方法は次のとおり:get_Invariantget_ANSICodePageget_OEMCodePageget_MacCodePageget_EBCDICCodePageget_LCIDget_CultureNameget_IsReadOnlyget_ListSeparatorset_ListSeparatorget_IsAsciiCasingSameAsInvariantget_IsRightToLeftSystem.Runtime.Serialization.IDeserializationCallback.OnDeserializationCloneReadOnlyVerifyWritableSetReadOnlyStateToLowerToLowerChangeCaseChangeCaseToLowerChangeCaseToUpperChangeCaseCommonChangeCaseCommonChangeCaseCommonToLowerAsciiInvariantToLowerAsciiInvariantToUpperAsciiInvariantToUpperAsciiInvariantToLowerAsciiInvariantToUpperToUpperToUpperAsciiInvariantIsAsciiPopulateIsAsciiCasingSameAsInvariantEqualsGetHashCodeToStringToTitleCaseAddNonLetterAddTitlecaseLetterIsWordSeparatorIsLetterCategoryFinishInitializationChangeCaseIsInva System.Globalization.TextInfoSystem.Reflection.PropertyInfo [] System.Reflection.MethodInfo []プロパティは
System.Globalization.TextInfo
System.Reflection.PropertyInfo[]
System.Reflection.MethodInfo[]
The properties are:
Invariant
ANSICodePage
OEMCodePage
MacCodePage
EBCDICCodePage
LCID
CultureName
IsReadOnly
ListSeparator
IsAsciiCasingSameAsInvariant
IsRightToLeft
The methods are:
get_Invariant
get_ANSICodePage
get_OEMCodePage
get_MacCodePage
get_EBCDICCodePage
get_LCID
get_CultureName
get_IsReadOnly
get_ListSeparator
set_ListSeparator
get_IsAsciiCasingSameAsInvariant
get_IsRightToLeft
System.Runtime.Serialization.IDeserializationCallback.OnDeserialization
Clone
ReadOnly
VerifyWritable
SetReadOnlyState
ToLower
ToLower
ChangeCase
ChangeCaseToLower
ChangeCaseToUpper
ChangeCaseCommon
ChangeCaseCommon
ChangeCaseCommon
ToLowerAsciiInvariant
ToLowerAsciiInvariant
ToUpperAsciiInvariant
ToUpperAsciiInvariant
ToLowerAsciiInvariant
ToUpper
ToUpper
ToUpperAsciiInvariant
IsAscii
PopulateIsAsciiCasingSameAsInvariant
Equals
GetHashCode
ToString
ToTitleCase
AddNonLetter
AddTitlecaseLetter
IsWordSeparator
IsLetterCategory
FinishInitialization
ChangeCase
IsInvariantLocale

  1. TensorFlowを使用して、Pythonを使用してテンソルを作成し、メッセージを表示するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ

  2. 6 つの方法で Windows 11 を修復する方法

    Windows 11 にアップグレードした後、何か問題が発生していますか? Windows 11 を修復する方法をお探しですか?あなたは正しい場所に来ました! システム クラッシュ、応答しないアプリ、またはデバイスの動作が通常よりも遅いなどの問題が発生した場合は、いくつかのトラブルシューティング ハックを使用して PC を修復し、すぐにマシンを再稼働させることができます。 この投稿では、デバイスのパフォーマンスを最適化し、エラーやバグを回避するために Windows 11 を修復するために使用できる 6 つの異なる方法をリストしました。 始めましょう。 Windows 11 の修復方