Loose Typing - Created A Function With No Return Type
Jun 4, 2009
I was playing with vb 2008 express and i created a function with no return type. Basically what it does is i specify a table name and a column name and it returns the value within but it doesn't type it until it gets to the calling variables type. So i have on function that i can use across all my tables.
Eg:
dim mydate as date = getvalue("tblSRs", "datelogged")
msgbox (mydate)
dim desc as String = getvalue("tblSRs", "description")
msgbox(desc)
Both return the correct values. were you always able to leave the typecasting till the end and whats the major downfall?
Just so it's known, this question is mostly academic, even though I tried to use the concept in a real-world solution. I realize the example is contrived, but I believe the concept is valid.I want to write some fluent code like this:
[code]...
I realize that I can't force an anonymous type into a specific type (like implementing an interface or some other class), and I don't want the overhead of defining a specific class just to match my desired fluent name with the actual method name. So I was able to make the code work like this:
copy(my_first_file).to.Invoke(my_second_file)So there is no IntelliSense or type awareness there, and I have to include the Invoke in order to have the method run. How can I get more type safety and exclude the Invoke method, under these constraints: Anonymous Type returned from Method No additional classes or interfaces Preferably, I do not want to pass in another parameter to the copy() method that tells what type to return, unless copy becomes a generic method (but I think that means defining another class/interface, which I don't want to do)
In my project (which I inherited from someone) there are a lot of functions like:
Public Function DoSomething(ByVal s As String) ' Do something to public properties End Function
And they are called like this:
DoSomething(s)
So the return value is ignored (which is object, as I see in the docs). Is it safe to change all these functions to Subs? Could I break something which isn't so obvious?
I know a little about using a user specified type IE IIf(Of ReturnType)(ByVal expression as Boolean, ByVal TruePart As ReturnType, ByVal FalsePart As ReturnType) As ReturnType...Which works, however I've been trying to get this to work, but can't..
Protected Function InverseSign(Of ReturnType)(ByVal value As Double) As ReturnType Dim result As String Select Case Math.Sign(value) Case -1: result = "+" & Math.Abs(value).ToString()
[code]....
Using try cast just gives me the error saying ReturnType has no class-constraints? whatever that means..But my goal here is to be able to return either a string or double.. However every method I've tried to convert my result string to the ReturnType doesn't work.I've also tried simply overloading the function, but I can't because they only differ by return type. So that didn't work either.
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
if i got a function with a try cath block inside and the function should return an integer.how would i do it that the function can return me a the error message?public function test() as Integer
i want to learn about dll injection....lets start with small thing...i created a dll file contain 1 function "MyMsgBox" get one parameter and return non...i want to inject it to another proccess exe file and execute the code...
public delegate UsernameCredentials UsernameRequiredEventHandler( object sender, string endpoint ); public event UsernameRequiredEventHandler UsernameRequired;
On Converting the above code in VB.Net as follow :
Public Delegate Function UsernameRequiredEventHandler(ByVal sender As Object, ByVal endpoint As String) As UsernameCredentials Public Event UsernameRequired As UsernameRequiredEventHandler
I am getting error on the above line saying that "Events cannot be declared with a delegate type that has a return type".I understand that this is not supported in VB.Net.
I Have a RTF File which i have exported from CrystalReportviewer Now i want to assign the exported RTF to a RichTextBox[code]..
The File is Loaded successfully.. But i m loosing the Formatting , i mean to say When i m opening the Same RTF Outside of the application its Showing the Format As it was in Report ... But While i m Attaching it to Application It looses all the formatting .
i'm developing a server application using vb.net and i'm facing a problem. in fact i have a huge data to send to the client via the socket so i use a loop to divide the data and send each part the problem is that when i proceed with the sending the socket send me only few peaces of the data and loose a big part of it. i tried to flush the buffer after each sending but i didn't find how to do it so i used a system.threading. thread sleep between each socket send. it works when i don't have huge data but it blocks my server when the number of packets increases. is there a solution that would replace the. sleep one without blocking the application?
I'm trying to create a page dynamically, but I falling at the first herdle. I have create the below after reading may blogs/post/articles. The problem I have is when I click the first buttons I created nothing happend, if I then click it again it works.Can any one tell me where I'm going wrong?
I'm trying to use in vb.net a function and an interface created in c#. The function is RegisterDragDrop and the interface is IDropTarget:
Public Shared Function RegisterDragDrop(ByVal hwnd As System.IntPtr, ByVal pDropTarget As GongSolutions.Shell.Interop.IDropTarget) As Integer the second parameter points to an IDropTarget interface.
I'm implementing this interface in vb.net as follows:
Possible Duplicate: VB.NET Function Return If I have a function that returns a boolean, what is the difference between:Return False and Function = False
how return four value from a function. In general function will return single value but here i am going to return four different values. If possible please tell me how to store the function return values.
I've created my own version of HexToDec() to properly handle the negative flag. I saw other versions online that used "Not(value)" to do the Pos/Neg inversion, but that does not generate the proper value... No, it's not the most elegant my any means. But I couldn't find anything online that actually worked.
Long story short, I want to return NaN in the case that the function is passed a string that is not a valid hex string...
How do I do that? Everything I've tried generates a compiler error... (assign return value to double.nan, assign return value to non-numeric, etc)
Existing function is below:
Function HexToDec(ByVal hexStr As String, Optional ByVal signed As Boolean = False) As Long Dim lngFinal As Long
I created a paint type program for signatures, and now I would like to save my canvas as either a jpeg, bitmap, or gif file, but I am unsure how to go about this. Here is my code,
I'd like to create a user-defined data type in VB.NET but don't know how to do it.Ta say there's a variable to control the action of a timer control. The possible actions would be "no action", "run timer", and "stop timer." I could do this with an integer (e.g. 0=no action, 1=run timer, 2=stop timer), but I'd rather create a data type so that the options are more explanatory than a simple integer. Like so....
Private Timer_Action as MyDataType Timer_Action=MyDataType.RunTimer
I would like to have a function(of T) that returns a list(of T) that is assignable to a variable of list(of T).For Example:
the variable: Private _StandardCodes As List(Of StandardCode) the assignment:[code]....
I'm getting the error "Type paramater 'T' for ... cannot be inferred", as a result I have to use a comparable function to return a list(of Object) and then do:
_StandardCodes = (From x In AMExtensions.queryObject(GetType(StandardCode), "StandardCode") _ Select CType(x, StandardCode)).ToList