天道酬勤,学无止境

getmethod

过滤掉 Type.GetMethods() 返回的自动生成的方法(getter/setter/add/remove/.etc)(Filtering out auto-generated methods (getter/setter/add/remove/.etc) returned by Type.GetMethods())

问题 我使用Type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)来检索给定类型的方法数组。 问题是返回的MethodInfo可能包含我不想要的编译器生成的方法。 例如: 属性bool Enabled { get; } bool Enabled { get; }将获得bool get_Enabled() 事件SomethingChanged将获得add_SomethingChanged(EventHandler)和remove_SomethingChanged(EventHandler) 我可能可以添加一些过滤器逻辑来摆脱它们,这可能会变得非常复杂。 我想知道是否还有其他我可以做的事情,例如使用BindingFlags设置来仅检索用户定义的方法? 回答1 typeof(MyType) .GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) .Where(m => !m.IsSpecialName) 回答2 我认为最好的办法是过滤掉具有 CompilerGenerated

2021-11-30 06:44:08    分类:技术分享    c#   events   reflection   properties   getmethod

C# GetMethod 不返回父方法(C# GetMethod doesn't return a parent method)

问题 我有以下类树: public class A { public static object GetMe(SomeOtherClass something) { return something.Foo(); } } public class B:A { public static new object GetMe(SomeOtherClass something) { return something.Bar(); } } public class C:B { } public class SomeOtherClass { } 鉴于SomeOtherClass parameter = new SomeOtherClass() ) 这有效: typeof(B).GetMethod("GetMe", new Type[] { typeof(SomeOtherClass) })).Invoke(null, parameter)); 但是这个: typeof(C).GetMethod("GetMe", new Type[] { typeof(SomeOtherClass) })).Invoke(null, parameter)); 抛出NullReferenceException ,而我希望它会调用与上面完全相同的方法。 我尝试了几个绑定标志都无济于事。 有什么帮助吗? 回答1

2021-11-25 09:31:13    分类:技术分享    c#   inheritance   methods   static   getmethod

C# GetMethod doesn't return a parent method

I have the following class tree: public class A { public static object GetMe(SomeOtherClass something) { return something.Foo(); } } public class B:A { public static new object GetMe(SomeOtherClass something) { return something.Bar(); } } public class C:B { } public class SomeOtherClass { } Given SomeOtherClass parameter = new SomeOtherClass()) this works: typeof(B).GetMethod("GetMe", new Type[] { typeof(SomeOtherClass) })).Invoke(null, parameter)); But this: typeof(C).GetMethod("GetMe", new Type[] { typeof(SomeOtherClass) })).Invoke(null, parameter)); throws a NullReferenceException, while I

2021-11-20 16:02:10    分类:问答    c#   inheritance   methods   static   getmethod

Filtering out auto-generated methods (getter/setter/add/remove/.etc) returned by Type.GetMethods()

I use Type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) to retrieve an array of methods for a given type. The problem is the returned MethodInfo could include methods that are generated by the compiler which I don't want. For example: property bool Enabled { get; } will get bool get_Enabled() event SomethingChanged will get add_SomethingChanged(EventHandler) and remove_SomethingChanged(EventHandler) I can probably add some filter logic to get rid of them which could potentially get very complicated. I want to know if there is something

2021-11-20 06:13:27    分类:问答    c#   events   reflection   properties   getmethod

使用 GET 方法使用 volley 库传递参数(Pass params Using GET method using volley library)

问题 我们如何使用request.GET方法将参数从 editText 传递到url 。 实际上,我试图将一个电子邮件地址作为参数传递给一个api ,该api应该附加到api-url 。 我从这里了解到 getParams() 不会在 GET 方法上调用,因此您似乎必须在发送请求之前将其添加到 URL 中。 建议我任何解决方案来完成任务.. 当我通过 REG_URL="http://ec2-54-147-238-136.compute-1.amazonaws.com/hmc/api/registeruser?email=ameer@novatoresols.com"; 它按预期返回 success=true 响应,因为是注册用户,但如果我设置 REG_URL="http://ec2-54-147-238-136.compute-1.amazonaws.com/hmc/api/registeruser 并传递参数(从 edittext 获取值并在 getparams() 方法中使用 params.put )。响应始终是 success=false,即 params 未附加到 url 这是我的代码。 package com.example.mts3.hammadnewsapp; import android.app.AlertDialog; import android.content

2021-11-11 02:30:35    分类:技术分享    android   android-volley   getmethod

无法在 android 版本 2.2.6 中结束通话(unable to end call in android verstion 2.2.6)

问题 我尝试使用以下方法结束通话 private void getTeleService(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); try { Class c = Class.forName(tm.getClass().getName()); Method m = c.getDeclaredMethod("getITelephony"); m.setAccessible(true); com.android.internal.telephony.ITelephony telephonyService = (ITelephony) m.invoke(tm); telephonyService.silenceRinger(); telephonyService.endCall(); } catch (Exception e) { e.printStackTrace(); Log.e("","FATAL ERROR: could not connect to telephony subsystem"); Log.e("", "Exception object: " + e); } } 这在 android

2021-11-08 11:02:48    分类:技术分享    android   telephonymanager   getmethod

Pass params Using GET method using volley library

How can we pass params from editText to url using request.GET method. Actually I am trying to pass an email address as parameter to a api which should b attached to api-url . I came to know from here that getParams() is not called on the GET method, so it seems you'll have to add it to the URL before you send the request. suggest me any solution to achieve the task .. when i pass REG_URL="http://ec2-54-147-238-136.compute-1.amazonaws.com/hmc/api/registeruser?email=ameer@novatoresols.com"; it return success=true response as expected because is registered user but if i set REG_URL="http://ec2-54

2021-11-07 10:43:45    分类:问答    android   android-volley   getmethod

unable to end call in android verstion 2.2.6

i trying to end call using below method to e private void getTeleService(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); try { Class c = Class.forName(tm.getClass().getName()); Method m = c.getDeclaredMethod("getITelephony"); m.setAccessible(true); com.android.internal.telephony.ITelephony telephonyService = (ITelephony) m.invoke(tm); telephonyService.silenceRinger(); telephonyService.endCall(); } catch (Exception e) { e.printStackTrace(); Log.e("","FATAL ERROR: could not connect to telephony subsystem"); Log.e("", "Exception

2021-11-05 10:05:02    分类:问答    android   telephonymanager   getmethod

jQuery AJAX GET html 数据 IE8 不工作(jQuery AJAX GET html data IE8 not working)

问题 这是代码,但它不适用于 IE8 和 7(IE9、chrome、firefox、safari、opera 都可以)。 我已经尝试了很多东西(元 utf-8 代码、php 标头代码、接收警报、缓存:false)。我该怎么办,我需要帮助。 感谢您的兴趣。 var request = $.ajax({ type:"GET", url: "_veri.php?t=icerik_getir&id="+tabopen, dataType: "html", }); request.done(function(msg) { $(".tab-contentmenu").html(msg); }); 编辑: 警报为我提供了所有浏览器中请求的数据,但“.tab-contentmenu”中仍然没有请求的数据,我该怎么办? var request = $.ajax({ type:"GET", context: document.body, url: "_veri.php?t=icerik_getir&id="+tabopen, dataType: "html" }); request.done(function(msg) { $(".tab-contentmenu").html(msg); alert(msg); }); 回答1 我解决了这个问题,在 php 文件中有一个未关闭的 div,我将其删除。

2021-10-31 13:53:11    分类:技术分享    jquery   ajax   internet-explorer-8   internet-explorer-7   getmethod

C# 如何使用 GetMethod 查找具有通用输出参数的特定重载?(C# How to use GetMethod to find a specific overload with a generic out parameter?)

问题 一切都在标题中,但让我放一些代码。 假设我们有一个具有 2 个同名方法的类: class MyClass { /// <summary> /// The first version /// </summary> public TItem Foo(long param1) { ... } /// <summary> /// Overload with a generic parameters /// </summary> public bool Foo<TItem>(out TItem item, long param1) { ... } } 我们需要获取具有通用输出参数的第二个“Foo”方法的 MethodInfo: public class AnotherClass { public MethodInfo GetFooForType(Type typeOfItem) { // the answer is probably GetMethod with the right parameters return typeof(MyClass).GetMethod(???); } } 请注意: 我试图不使用 GetMethods 或 GetMember 因为它不优雅且容易出现未来错误重命名任何 Foo 方法都不是一种选择(太容易了)。 类型或 TItem 显然只有在运行时才知道。

2021-10-27 02:04:12    分类:技术分享    c#   generics   reflection   getmethod