Multi-constraint Generic Function Calls Actually Work?

Jan 8, 2011

In vb.net, it is possible to design a function which can operate on generic parameters which meet multiple constraints. For example, it is possible to have a function accept as a parameter a class which inherits from Control and implements IList. This function could use "Control" or "IList" methods on such an object, and also pass the object to anything that expected a Control or an IList [note that this particular combination was chosen to facilitate a brief example, not to be a particularly useful combination].

[Code]...

This approach provides compile-time type-safety; there's no need for a cast that could fail at runtime. An alternative approach would be to pass the argument as either a Control or an IList, and have the function cast to the other. That would, however, fail at runtime if the object that was passed didn't in fact meet both constraints.

Under what circumstances is it good to use a generic function like the above, in what cases would it be better to have objects which are going to meet both constraints have a new interface like IListableControl(Of T) which would include a TheControl property that would return itself (cast as a control), and in what cases would it be better to have a generic ISelf(of T) interface, any implementor of which would be expected to provide a "Self" property that would return itself as a T?

Using multi-constrained generics, it's possible to do a lot of things without requiring any run-time typecasts, but I don't know what the performance costs are likely to be. I tried writing a short program to generate 65,536 different generic types at run-time, e.g. Foo(of Bar(Of Foo(Of Foo(Of Bar(Of Foo(...(Of Blah)) and it got pretty slow, so I can tell that the time required to handle generics isn't fixed, but I don't know what factors affect it.

View 1 Replies


ADVERTISEMENT

VS 2008 What Will Happen When 3 Function Calls Same Function At A Time

Apr 27, 2009

What will happen when 3 function calls same function at a time? I have 3 Function, f1,f2,f3.. Those function after completing their task will call finish() function. What will happen if Finish is Called morethan once..

View 9 Replies

Multiple Calls To Web Browser Do Not Work

Feb 2, 2011

I had the idea of making a program that would take a list of URLs, display each one, and then let me save the web pages as they came up. So I wrote the following few lines of code. The interesting thing is that they don't work: (vb express 2010)

Imports
System.IO
Public

[code]....

View 1 Replies

Asp.net - Where Contains From Two Function Calls?

Jan 12, 2012

I want to get a list of all students who were at one of two events. Here's my function to get an attendance list:

Private Function AttendanceList(ByVal Mode As AttendanceListLookupMode, ByVal AttendaceTypeID As Integer, ByVal EventID As Integer, ByVal EventOccurenceDate As Date) As IEnumerable(Of Integer)
'Get the attendance table for specified event[code].......

View 1 Replies

Specifying Inherits / Implements On Generic Class With Multi-Constraints

Jun 7, 2010

When I write the following statement in VB.Net (C# is my normal language), I get an "end of statement expected" referring to the "Implements" statement.
<Serializable()> _
<XmlSchemaProvider("EtgSchema")> _
Public Class SerializeableEntity(Of T As {Class, ISerializable, New}) _
Implements IXmlSerializable, ISerializable
...
End Class

The C# version that I'm trying to emulate is:
[Serializable]
[XmlSchemaProvider("MySchema")]
public class SerializableEntity<T> : IXmlSerializable, ISerializable where T : class, new()
{
....
}

View 1 Replies

Function Calls To Unmanaged DLL From VB

Jun 12, 2009

I'm having some trouble finding the syntax for making function calls to unmanaged DLLs in VB.NET. Let's just assume there's a function "Connected" in unmanaged DLL "Connector.DLL". I want to call this function by creating an abstract function call to it.

I've seen some code out there that looks something like
[DllImport("Connector.DLL")]
Public Shared Function Connect(ByVal intPort)
But that syntax doesn't work for me.

View 2 Replies

Convert Legacy VB6 Function Calls To .NET

Jan 8, 2010

I am looking for a utility/tool to convert calls to legacy VB6 functions to the .NET equivalent. For example, it would convert this...

[Code]....

Does anybody know of one, or am I going to have to roll my own?

View 3 Replies

Creating A Function That Calls Sql Storedprocedure?

May 27, 2011

I tried to search forum topics to find a tutorial that will guide me on how to achieve this however seem like most of the tutorials i were finding were confusing me more.With that being said here is what i have,Here is what I am trying to do [URL]that tutorial is exactly what I am trying to achieve however I do not understand what the supplierstableadpater, northwindtableadapters are. I can only assume that I am not doing exactly the same thing as that tutorial.

What I have is a simple sql storedprocedure that selects all employeedetails.And also another sql stored procedure that selects just a few columns from the employees table. On my frist page I am going to list all the employee names in a gridview and when they click the employee name it should take them to another page and show that employee's details. Seems like you have to use an object datasource to achieve this but is there an easier way to achieve creating a class that calls the 2 stored procedures that I have that i would be able to then link them with an objectdatsource?

View 1 Replies

Passing/Infering Type Through Shared Function Calls?

Dec 6, 2010

how to pass system.type or a generic without much luck. I have two functions below one that works and the other that doesn't. I can't seem to make heads or tails of the VB syntax required for doing what I want to do.

' This function does not
'
' Also attempted it like this

' Public Shared Function UnserializeFromJSON(ByVal obj As String, ByRef ty As System.type)[code].......

View 2 Replies

VS 2008 - How To Write Wrapper DLL For Accessing Function Calls

Jul 27, 2011

I have a camera for which the complete source code with header files(.h) and all libraries files(.lib) are given in VC++. Now if I want to access the function calls in the header files and in turn the functions in the library from VB.NET, I am required to write a wrapper DLL for accessing the function calls which I never did till now.

View 1 Replies

Win32 API - Equivalent To Making System Calls Abd And Library Calls In UNIX?

May 8, 2010

What the Win32 API is? I have looked around but no where really outlines what it is. Is it basically a set of procedures, outlined by Microsoft for programmers in order to get services from the operating system? In essence is it the equivalent to making system calls abd and library calls in UNIX? And yes I now Windows makes library calls too.

View 2 Replies

.net - Work Around The __Canon Type In Generic Exception Handlers?

Apr 10, 2009

Given an extension method like this:Public Sub RehydrateTo(Of T As New)(ByVal input As String, ByRef output As T)

[Code]...

and a type MyCollection that inherits from ObservableCollection(Of V), we find that calling someString.RehydrateTo(instanceOfMyCollection) can fail in the exception handler. The problem is that GetType(T) does not always evaluate to "MyCollection" -- while in the exception handler, it evaluates to "__Canon". ( System.__Canon being some kind of CLR magic that means a canonical instantiation of a generic )

How can we work around this?

View 1 Replies

Multi-line Search Won't Work

Jul 14, 2010

Currently i have this code:

If InStr(1, UCase(TextBox3.Text), TextBox2.Text) <> 0 Then
End If

which sees if text from textbox2 is in textbox3, but if there are multiple lines in textbox3 then it wont search.

View 10 Replies

Make Program Application Work As Multi-user?

Jul 25, 2007

I am developing a VB.Net application. That application might be working on a LAN. MS Access as a backend will be used.

I have developed many single user applications, but don't know of multi user , LAN, manage DB etc. How do I make the program as Multi user on LAN. Data will be accessed at the same time. How to mange such things.

View 5 Replies

Replacing DbTransaction Calls With Calls To TransactionScope?

Mar 4, 2010

I have been using DBTransaction for my current projects that access a single database. However, I read some documentation on TransactionScope and was wondering in which scenario would using TransactionScope be better? Or should I be replacing DbTransaction calls with calls to TransactionScope?

View 2 Replies

.net - Generic Sorter Function C# To VB

May 31, 2011

Anyone want to try converting this to VB?

[Code]...

It is supposed to sort any type of object. Taken from here

View 1 Replies

Calling A Generic Function In .NET / C#?

Jun 2, 2010

Question: I want to call a generic function, defined as:

Public Shared Function DeserializeFromXML(Of T)(Optional ByRef strFileNameAndPath As String = Nothing) As T

Now when I call it, I wanted to do it with any of the variants below:

Dim x As New XMLserialization.cConfiguration
x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(Of x)()
x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(GetType(x))()
x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(Of GetType(x))()

But it doesn't work.I find it very annoying and unreadable having to type

x = XMLserialization.XMLserializeLDAPconfig.DeserializeFromXML(Of XMLserialization.cConfiguration)()

Is there a way to call a generic function by getting the type from the instance ?

View 5 Replies

Generic OrderBy Function?

Jun 7, 2012

I have a grid view with a lot of columns, all need to be sorted on. I have seen a few snippets out there, but I cannot get any of them to work with my example. Here is what I have so far.

Protected Sub gvSearch_OnSorting(ByVal sender As Object, _
ByVal e As GridViewSortEventArgs)
If Not Session("sort") Is Nothing Then

[code].....

View 1 Replies

VS 2005 Add Multi Textboxes Resolve For Null - Conversion Cannot Work

Nov 6, 2009

I need to add multiple textboxes together and am using Cdbl, my problem is if i have an empty box then conversion can not work, so i have to put zero default in each Textbox, i really dont like they way that looks So i am looking for a way to to give an empty textbox a value of zero so the conversion will work

[Code]....

View 3 Replies

.net - Generic Open Form Function?

Oct 12, 2011

written a generic "LaunchForm" function? For all the menu items I have that open a form, I would like to write one function that will launch the form as opposed to writing the same code several times.

View 2 Replies

.net - How To Make Function Return Generic Value

Sep 16, 2011

I have an abstract class in VB.NET. I want all classes that inherit from this class to return whatever value makes sense. For example, it could be an Decimal, Integer, String. How can I delcare the function in the abstract base class to allow for this? Is this even possible?

[Code]...

View 2 Replies

.NET : Generic Function To Return A Control?

Oct 14, 2010

I have created a couple of simple functions in VB.NET that simply return a control of a certain type that I already know, such as HtmlInputHidden, Label, etc. That means that each of the functions is created only for that special purpose. What I'd like to do is combine all those functions into one function using generics. The common things shared by each of the functions is a control Id and a control type.What I have got so far is:

Public Function GetControl(Of T)(ByVal ctrlId As String) As T
Dim ctrl As Control = Me.FindControl(ctrlId)
If (Not ctrl Is Nothing) Then

[code]....

But the line " GetControl = CType(ctrl, T)" is giving me a compile error:

Value of type 'System.Web.UI.Control' cannot be converted to 'T'

This is in .NET Framework 2.0.

View 2 Replies

Create A Function That Uses A Generic Structure?

Apr 1, 2009

I am attempting to create a generic function that the students in my introductory VB .NET course can use to search a single dimension array of a structure.[code]...

My question is: Is there a way to reference the individual structure fields in the array from inside the function? I was trying to make it generic so that the student could simply pass their array into the function - their structure may be named differently than mine and the field names may be different.

I suspect there are other ways to deal with this situation, but I was trying to keep it to just a simple single-dimension array of a structure. I don't think it is possible to do what I want, but I wondered what others thought.

View 5 Replies

Generic Function For Checking For A Value Of Null?

Aug 24, 2010

I am trying to write a generic function that will check each database parameter to see if it is null, and if so, return DBNull; if not, return the object.So here is my function:

Public Shared Function CheckForNull(ByVal obj As Object) As Object
If obj <> Nothing Then Return obj Else Return DBNull.Value
End Function

[code].....

View 1 Replies

Have A Static Generic Function In .net 2.0 VB Code?

Sep 2, 2009

I must be doing something wrong here (because really, what are the chances of me tripping over another bug in the Vb.net compiler?)I have a static generic function in .net 2.0 Vb code, I thought it was time to "upgrade" it to be an extension method, but the compiler complains with Extension method 'AddIfUnqiue' has type constraints that can never be satisfied.

Here's a trivial example that displays the same problem. The old static version (which works fine) followed by the extension method

Public Class MyStaticClass
Public Shared Sub AddIfUnqiue(Of T, L As {List(Of T)})(ByVal this As L, ByVal item As T)
If this.IndexOf(item) < 0 Then

[code].....

View 1 Replies

Make A Shared Function Generic?

Feb 16, 2011

I can create classes that use generics, however I was wondering if it is possible to apply this to a shared method rather than rely on the caller casting to the correct type.This is the method:

Public Shared Function DeserializeObject(ByVal serializedXml As String, ByVal givenType As System.Type) As Object
Dim serializer As New XmlSerializer(givenType)
Return serializer.Deserialize(New IO.StringReader(serializedXml))
End Function

I'm pretty sure this can't be done, but thought I'd check (if so Extra points will be awarded if someone can technically explain why the compiler can't do this)..

View 3 Replies

Negative Effects Of Using A Generic Function

Oct 26, 2011

My question here is, what are the negative effects of using a generic function such as this? Calling this function does work, and in a test console module, it compiles perfectly fine. I do know this is not a strongly typed function, and is %100 bad practice. But it works perfectly. The purpose of a function like this, would be to handle string input that needs to be inserted in a particular format depending on the type. I also read some other questions on this here on stackoverflow, and suggestions pointed to using (Of T) functions, and variations like that. Why not do it this way? or is there another simple way of accomplishing this without creating a whole nothing class or larger amounts of code.[code]

View 1 Replies

Write The Generic Version Of This Function?

Jan 18, 2011

I like to turn Option Strict On I cant figure out how to write the generic version of this function?

Public
Shared
Sub UpdateItem(ByRef
oldValue As

[code]....

View 8 Replies

C# - Make A Function With Return Type Generic?

Apr 29, 2010

Currently I have written a function to deserialize XML as seen below.How do I change it so I don't have to replace the type every time I want to serialize another object type ? The current object type is cToolConfig. How do I make this function generic ?

Public Shared Function DeserializeFromXML(ByRef strFileNameAndPath As String) As XMLhandler.XMLserialization.cToolConfig
Dim deserializer As New System.Xml.Serialization.XmlSerializer(GetType(cToolConfig))
Dim srEncodingReader As IO.StreamReader = New IO.StreamReader(strFileNameAndPath, System.Text.Encoding.UTF8)
Dim ThisFacility As cToolConfig

[code]....

View 1 Replies

Generic Function For List Type Filter?

Jan 13, 2011

I would like to write a generic function that would search a List(Of T) for all elements of type TFilter and return a List(Of TFilter) which comprises those elements.

I've tried this:
Public Function FilterList(Of T, TFilter)(ByVal ListToFilter As List(Of T)) As List(Of TFilter)
Return ListToFilter.FindAll(Function(z) z.GetType.Equals(GetType(TFilter))).ConvertAll(New Converter(Of T, TFilter)(Function(z) CType(z, TFilter)))
End Function

But, it gives the following error:
Value of type 'T' cannot be converted to 'TFilter'.

View 2 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved