.net :: Using Reflection To Invoke An Extension Method?
Nov 16, 2011
I've created a MyFunc extension (in Module Extensions) for all the base types as well as generic arrays, ICollection(Of T) and Dictionary(Of String,T):
Function MyFunc(Of T)(a() As T) As String
Function MyFunc(Of T)(collection As ICollection(Of T)) As String
Function MyFunc(Of T)(dict As Dictionary(Of String,T)) As String
[code].....
View 1 Replies
ADVERTISEMENT
May 5, 2011
I'm trying to make this code with reflection since I want it to manage Technician and other types too.
[Code]....
View 1 Replies
Jun 11, 2009
I have had several occasions recently to access a specific class several times over a relatively small time frame.So I've been storing the value of the class in Session and trying to access it on page load, if it's not available creating a new instance and storing that in session.
So instead of constantly replicating the same code for different classes on different pages I'm trying to create an extension method to do this for me.
[Code]...
I'm stuck on what to do when I make my new instance of my class (it would have to have a New() sub)
I'm not sure where to go from here... or even if this is the best way to do it.
View 2 Replies
Sep 15, 2010
This function loops all properties of an object to create the updatequery to save te object to the DB.
We had to make some changes to it because of the introduction of nullable properties. If the property is nullable we would like to check the 'HasValue' property. This does works when it has a value. When the property has no value we get an 'Non-static method requires a target'-error at the CBool-line
An other way to check the 'HasValue'-prop of a property using reflection?
Private Function GetUpdateQuery(ByVal obj As Object, ByRef params As List(Of SqlParameter), Optional ByVal excl As String() = Nothing) As String
Dim sql As String = String.Empty
[Code].....
View 1 Replies
Dec 3, 2009
Why would I use an extension method instead of just creating non-extension sub or function?
For ex, I could have an extension function called IsNullOrEmptyOrAllSpaces on String, which does a check as its name implies. Or I can write a stand alone function that does the same thing. Other than having the extension show up in Intellisense, is there any advantage? Is a call to the extension quicker/more efficient than a call to a regular function?
View 8 Replies
Mar 16, 2012
I saw this post and I want to know if this is possible in VB. So like extension method, do extension properties exists in VB.Net? Here I've read they do, but cannot find any examples.
View 3 Replies
Sep 16, 2010
Write an overload for every numeric type or if possible constrain a generic extension method to just numeric types.
View 2 Replies
Jul 16, 2010
Extension methods are useful for types that you don't own and can't/don't want to derive from and extend (e.g. reference types and interfaces). Obviously, interfaces should be kept as short and to-the-point as possible, so extension methods for interfaces are particularly useful (e.g. LINQ).For classes, especially classes that you own, they're still useful - but I'm wondering how you determine what should be an extension method or what should be a method in the class itself.Personally, every time I think about it, I keep going round in circles with the following thoughts:If it's useful enough, it should be in the class.It's not part of the core responsibility of the class, it should be an extension method - but if it's useful enough, surely it should be the responsibility of the class...
View 3 Replies
Nov 11, 2009
Public Class StateObject
Public workSocket As Socket = Nothing
Public Const BufferSize As Integer = 1024
Public buffer(BufferSize) As Byte
[CODE]....
View 3 Replies
Oct 7, 2010
I have been using a pretty slick generic invoke method for UI updating from background threads. I forget where I copied it from (converted it to VB.NET from C#), but here it is: Public Sub InvokeControl(Of T As Control)(ByVal Control As t, ByVal Action As Action(Of t))
[Code]....
View 1 Replies
Aug 20, 2009
1. On the main form a scanner class is instantiated that (in the scanner's constructor) sets the scanner settings (baud rate, parity, etc) and opens the scanner for use
2. A barcode is scanned (via a scanner connected to the device in a seral port) while on the main form
3. In the scanner class, the DataRecieved event gets the needed info from the scanned code.
4. Then that info is passed back to the main form to a method RunCommandCode (which takes the scanned info as an argument)
5. On the main form the RunCommandCode calls another method CommandCodeHandler, passing the scanned info again
6. In the CommandCodeHandler sub a method is called in a Utils class (SetSelectedTab), which interacts with the form itself (determines how many tabs exist on a tab control), which is the reason for the invoke in the first place
So, before I figured out I needed to use the Invoke method (and, more specifically, that the scanner was working in a different thread), I was getting an error in step 6 on the line that got the TabControl.TabPages.Count.
[code]...
View 2 Replies
Aug 31, 2010
I am implementing a custom iDispatchLLInvoke handler for VB.NET - some of this is working.So Far - I have been able to intercept and provide custom handling of simple functions and property calls - but I am stuck when I try to set a property and get an error "Invalid Pointer (Exception from HRESULT: 0x80004003 (E_Pointer))".
I am using the new .NET 4.0 ICustomQueryInterface to do this. In Summary - I intercept and provide my own implementation of iDispatch - I load the dispIDs on the first call - and return a the dispID for each call within GetIDsOfNames - this ID is than passed to Invoke where reflection is used to get the value and return the result.
When I attempt to set a property - a call is made to GetIDsofNames and I return a valid dispID - the application than crashes with the error above and no call is made to Invoke.As a result - I am assuming that the issue relates to my interface definition been wrong becase the code never get's back to .NET code - see below for this code:
<ComImport(), Guid("00020400-0000-0000-C000-000000000046"), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IDispatch
Sub GetTypeInfoCount(ByRef pctInfo
As UInt32)
[code]....
View 3 Replies
Apr 3, 2009
Using VB.NET, is there a way to pass a reference argument when invoking a function in a dll.
Suppose I want to pass arg2 as a reference argument, how would I do that?
method.Invoke(obj, New [Object]() {arg1, arg2, arg3})
In other words I want to point arg2 to something else within the invoked function.
View 2 Replies
May 29, 2012
I want to invoke a method on a class that i have a reference to. The method that I want to call has a custom attributes. Currently I can find this attributes and call the property of my class Attribute.
is there a way to invoke that method ?
PS/ The project is written in vbnet, but I think the solution is the same in c#.
View 1 Replies
Aug 16, 2010
I have some code in c#
BeginInvoke(new MethodInvoker( delegate() {myAppMethod_Tick(sender, e); }));
Now, When I tried to convert that code to vb.net I have below..
BeginInvoke(New MethodInvoker(Function() Do myAppMethod_Tick(sender, e) End Function))
But it does not compile.. What's problem for it?
Because my c# application works ok without any problem..
View 3 Replies
Oct 15, 2010
I'm making a little program in where i'm trying to invoke a method from a class dynamically with so called Reflection.The class I'm trying to call is called ContactList and i try to invoke the method in this class called count. The assembly itself is called Contact.ExeNow I have the following code:
Public Function InvokeContacts() As Integer
Dim ContactsAssembly As Assembly = Assembly.LoadFrom("Contacts.exe")
Dim Mycontactlist As Type = ContactsAssembly.GetType("ContactList")
[code]....
View 10 Replies
Dec 5, 2011
I am loading an assembly dynamically and invoking a static method from it. The problem arises when the method uses a reference which is not trivial (e.g. mscorlib or System.Core) - I get System.MissingMethodException. I have tried going through the references assemblies of the loaded assembly and manually loading them all, thus forcing them to be loaded onto the AppDomain. I have checked CurrentDomain.GetAssemblies, the assemblies are loaded.
View 1 Replies
May 25, 2011
Is it possible to somehow invoke foo("SomeAwesomeString") from VBScript directly (i.e., without it having to launch an additional process)?
The use case is this: I am trying to write an 'extension' application for hMailServer (hMS), but hMS can only invoke VBscript scripts when an event happened. I can have the VBscript launch an .exe every time the event happened, but the processing involve opening and closing a connection to a back-end database. So, every invocation is very expensive. I had been thinking that I can reduce the expense by having a Service to maintain the connection (i.e., opening it once and re-open it if the connection closed). Plus by implementing the processing as background worker threads will result in a non-blocking processing + less process-starting overhead.
View 3 Replies
Aug 19, 2010
This is the code i have so far (no i didn't write it all by my self took help from net) but i am unable to understand why i am getting this error
Imports CookComputing.XmlRpc
Public Structure blogInfo
Public title As String
[code]....
error i get is "Invoke on Non-Existent or Non-public proxy method"
View 1 Replies
May 22, 2009
I have a COM component that I want to call using late-binding from VB.NET (using Primary Interop Assembly - PIA method). My IDL signature for the COM method looks like:
HRESULT Send([in]BSTR bstrRequestData,
[out]VARIANT *pvbstrResponseData,
[out]VARIANT *pvnExtCompCode,
[out,retval]int *pnCompletionCode);
So 2 'ByRef' parameters in VB.NET lingo, and a return value. I attempt to invoke this method like so:
Dim parameters(2) As Object
parameters(0) = "data"
parameters(1) = New Object()
parameters(2) = New Object()
Dim p As New ParameterModifier(3)
[Code] .....
This fails spectactularly with an exception: {"Invalid callee. (Exception from HRESULT: 0x80020010 (DISP_E_BADCALLEE))"}
I assume this means I'm doing something wrong in my parameterMods array. Because if I comment out setting any value of the ParameterMods array to 'True' - it works. It of course doesnt update the parameters that are [out] parameters and so it's not working as intended. Is there something else to consider since the method also has a return value? The MSDN example pretty much does exactly what I am doing, with the exception that example did not have a return value.
View 1 Replies
Mar 3, 2009
Attempting to invoke a method of an interface, of which the return type is _variant_t
Code:
_variant_t resultsDataString;
_bstr_t simObjectNames;
simObjectNames = SysAllocString (L"TEST example 3");
resultsDataString = pis8->GetSimObject (simObjectNames);
[code].....
View 4 Replies
Jan 2, 2010
I Have a Function on my frmMain Class wich will update my control to something else after an invoke. When i type "?Label1.Text" on the Immediate Window, the text property IS updated, but when i go check the Form, nothing happened. The code is just like this
[Code]...
View 3 Replies
Nov 15, 2011
I'm designing a .NET-Type at runtime by using the Reflection.Emit-Namespace. Currently, I'm about to generate a method which invokes an already existing method in the generating class:
[Code]...
View 1 Replies
Dec 14, 2010
I have tried several versions of this with no luck. The casting of the worksheet works as my data is entered in other parts, but I have a section where I need to add data 1 column right of the cell containing the 'str(0)' value. Most of these parameters are optional. I have even tried the System.Reflection.Missing object.
[Code]...
View 5 Replies
Apr 10, 2010
I know how to add extension method Like (Date.Now.MyExtensionFunction()),But I can NOT find how to add such methods and functions in class (not in module) with vb.net
View 3 Replies
Jul 27, 2010
I have a ASP.NET (C#) web page which utilizes a VB class library. The VB library performs a SOAP POST to a remote web service and returns a message. However the VB library keeps running into a "No connection could be made because the target machine actively refused it xxx.xxx.xxx.xxx" However, I've also created a C# test client which consumes the same VB class library and can perform the post just fine! [code]
View 1 Replies
Jan 15, 2007
Our company has an app that load their components by System.Reflection.Load (By the way, an awesome technique )But, we start to monitorate the application and detect a extrange grow up of memory (actually when our application still all day on air, their allocate memory on task manager is 200 MB plus memory) And all of our components (60 plus DLLs) is load by this technique.My doubt is how to deallocate this assemblies or how the best way to deallocate any assemblies loaded by the System.Reflection.Assemblie.Load method?
View 10 Replies
Mar 26, 2012
I am trying to write extension methods in VB.NET
Imports System.Runtime.CompilerServices
Module ExtensionMethods
<Extension()> _
[code]....
But I am getting this error.Class 'System.Web.UI.WebControls.ListItem' cannot be indexed because it has no default property
What could be wrong?I am calling the code like this.
ddlSalesmanager.Items.FindByText(survey, StringComparison.CurrentCultureIgnoreCase)
P.S: I ported this wonderful code from C# to VB
View 1 Replies
Feb 23, 2012
I converted some code from c# for a VB.net project I have an object declared as this :
<Serializable()> _
Public Class oUserApplication
Public ApplicationID As Integer = 0
Public ApplicationRoleID As Integer = 0
[code]....
View 3 Replies
May 18, 2009
I ran into a strange issue over the weekend while I was working on an asp.net mvc project in vb.net. I created an extension method to convert an integer to the corresponding month it is associated with. I tested the extension method in a console application so I know it is working.
In my asp.net mvc project I have a view and want to call the extension method but I get an error that the extension method is not recognized. I imported the namespace it was contained in and still couldn't shake the error.
Extension Method:
Imports System.Runtime.CompilerServices
Module SiteExtensions
<Extension()> _
[Code].....
View 3 Replies