Private Structure MyValueType
Private _integerValue As Integer
Public Sub New(initValue As Integer)
[code]....
But I can't work out how I can test the value such as this:
Dim v As New MyValueType(3)
Dim x As New MyValueType(4)
[code]....
Error:Operator '=' is not defined for Types MyValueType and MyValueType
So how do I define Operators for my ValueType (I know this must be simple but I can't find an exmaple anywhere!)?Note I don't want to test If v.Equals(x)
I accidently wrote some code today that was like this[code]...
I immediately noticed the issue, but I had already hit the run button. It compiled successfully, I ran it through to the section and it threw an exception.
You can't do this in C#, it gives a compile error "cannot convert from 'int?' to 'int'".
Is there an 'Option Explicit' type switch that I can turn on to ensure that this sort of error does not occur again?
I attempting to implement the Addemar Web Service (e-marketing system) into my VB.NET application. I've managed to get a connection and called a simple method, returning a array of field id's that is. I get into truble when I want to return the label of that particular id.Value of type '1-dimensional array of WindowsApplication1.AddemarWS.NamedValue' cannot be converted to 'WindowsApplication1.AddemarWS.NamedValue'.
I need to this at runtime. I checked using Reflector and value types line like Int16, for example, should contain
[Code]...
EDIT: only for the example I used directly GetType(UInt16) but in real code this part is substituted by an instance of unknown-at-design-time .NET Type
fast way in VB to go from a string to a generic type T constrained to a valuetype (Of T as Structure), when I know that T will always be some number type?This is too slow for my taste:
But it seems to be the only sane method of getting from a String --> T. I've tried using Reflector to see how Convert.ChangeType works, and while I can convert from the String to a given number type via a hacked-up version of that code, I have no idea how to jam that type back into T so it can be returned.
I'll add that part of the speed penalty I'm seeing (in a timing loop) is because the return value is getting assigned to a Nullable(Of T) value. If I strongly-type my class for a specific number type (i.e., UInt16), then I can vastly increase the performance, but then the class would need to be duplicated for each numeric type that I use.
It'd almost be nice if there was converter to/from T while working on it in a generic method/class. Maybe there is and I'm oblivious to its existence?
Conclusion:Testing the three provided implementations below and my original DirectCast/ChangeType form, @peenut's approach of using a prepared delegate to fetch the Parse method from a basic type works. No error checking is done, however, so implementors need to remember to only use this with valuetypes that have a Parse method available. Or extend the below to do error checking.
All runs were done on a 32bit system running Windows Server 2003 R2 with 4GB of RAM. Each "run" is 1,000,000 executions (ops) of the method to be tested, timed with StopWatch and reported back in milliseconds.
Original DirectCast(Convert.ChangeType(myStr, GetType(T)), T):
1000000 ops: 597ms Average of 1000000 ops over 10 runs: 472ms Average of 1000000 ops over 10 runs: 458ms
[code]....
Comparatively, peenut's approach is almost 200ms faster when executed 1,000,000 times in a tight loop, so his approach wins out.
what's the main difference between a Class and a Type and a ValueType.and is a Delegate a Type? or an eventhandler/event (the actual event itself)is every object a type? or is it only true in VB
Does anyone know of a fast way in VB to go from a string to a generic type T constrained to a valuetype (Of T as Structure), when I know that T will always be some number type?This is too slow for my taste:
But it seems to be the only sane method of getting from a String --> T. I've tried using Reflector to see how Convert.ChangeType works, and while I can convert from the String to a given number type via a hacked-up version of that code, I have no idea how to jam that type back into T so it can be returned.
I'll add that part of the speed penalty I'm seeing (in a timing loop) is because the return value is getting assigned to a Nullable(Of T) value. If I strongly-type my class for a specific number type (i.e., UInt16), then I can vastly increase the performance, but then the class would need to be duplicated for each numeric type that I use.
It'd almost be nice if there was converter to/from T while working on it in a generic method/class. Maybe there is and I'm oblivious to its existence?
Conclusion:Testing the three provided implementations below and my original DirectCast/ChangeType form, @peenut's approach of using a prepared delegate to fetch the Parse method from a basic type works. No error checking is done, however, so implementors need to remember to only use this with valuetypes that have a Parse method available. Or extend the below to do error checking.
All runs were done on a 32bit system running Windows Server 2003 R2 with 4GB of RAM. Each "run" is 1,000,000 executions (ops) of the method to be tested, timed with StopWatch and reported back in milliseconds.
Original DirectCast(Convert.ChangeType(myStr, GetType(T)), T):
1000000 ops: 597ms Average of 1000000 ops over 10 runs: 472ms Average of 1000000 ops over 10 runs: 458ms
[code]....
Using System.Reflection and calling InvokeMethod to get at the Parse method:
1000000 ops: 12213ms Average of 1000000 ops over 10 runs: 11468ms Average of 1000000 ops over 10 runs: 11509ms Average of 1000000 ops over 10 runs: 11524ms
[code]....
Konrad's approach to generate IL code to access the Parse method and store the call into a delegate:
1000000 ops: 352ms Average of 1000000 ops over 10 runs: 316ms Average of 1000000 ops over 10 runs: 315ms
[code]....
peenut's approach of using a delegate to access the Parse method directly:
1000000 ops: 272ms Average of 1000000 ops over 10 runs: 272ms Average of 1000000 ops over 10 runs: 275ms
[code]....
Comparatively, peenut's approach is almost 200ms faster when executed 1,000,000 times in a tight loop, so his approach wins out. Although, Konrad's wasn't far behind and is itself a fascinating study of things like ILGenerator.
This is what I would like to achieve:To create a custom messagebox, with varying number of buttons with custom .Text descriptions, and other features. I intended to have a property array that would be redim-ed and have values (.Text values) set by the calling class:
I came across this great article on creating a custom datagridview column which creates a graph-like effect in the cells of a custom datagridview column:[URL]..Does anyone know how you would edit this to format the number in the cell as a percentage? And does anyone know how you would set this up to take 0 values which do not create any graph effects at all.I have been trying to do this but keep getting errors.
I was trying to block the closing of a custom combo box popup window in my custom DataGrid. The popup window comes by pressing F4 or ALT+DOWN keys in my datagrid which is getting closed if I press the down arrow for the first time, after showing the first value in the combo box as selected. Next time onwards, if I press the F4 key and down arrow, I can move to any item in the popup window and select the item using keyboard and in that case, the popup window is not getting closed till I press the ENTER key or selection using the Mouse. Is there any specific reason for this behaviour or something is missing in my code part? [code]...
I was trying to block the closing of a custom combo box popup window in my custom DataGrid. The popup window comes by pressing F4 or ALT+DOWN keys which is getting closed if I press the down arrow for the first time after showing the first value in the combo box as selected. Next time onwards, if I press the F4 key and down arrow, I can move to any item in the popup window and select the item using keyboard and in that case, the popup window is not getting closed till I press the ENTER key or selection using the Mouse.
how to specify a custom icon for display in the toolbox window when you create your own custom control? Something other than the dreaded "gearbox" icon.
Cookies to be stored in folder and on close delete the cookies The ability to watch youtube vids, view images, and play js/flash games good security, no ads?
I'm using custom serialization and when the xml is generated it's putting the class name as the root element
Example:
<MyClassName> <MyIntendedRootNode> <ObjectType>
[code]....
I'm invoking the serialization by calling xmlserializer.Serialize(writer,Me) so I'm sure that has something to do with it.I've tried putting XMLRoot onto the class, but I think as vb is compiling this partial class with its aspx page, it's either overwriting this property or ignoring it entirely.I'd like to just tell it to either throw away everything it has and use a different root element.
I have a Custom Principal class that Implements System.Security.Principal.IPrincipal and a Custom Identity class that Implements System.Security.Principal.IIdentity. So when a user successfully login to my windows form application, I set My.User.CurrentPrincipal = CustomPrincipal, which worked great until I started adding custom functions to my Principal and Identity classes.
Here's my Application_OnError event sink in global.asax.vb: Sub Application_OnError(ByVal sender As Object, ByVal e As EventArgs) Dim innerMostException As Exception = getInnerMostException(Me.Context.Error)
I have a custom SiteMapProvider (populated from database) and a custom AuthorizeAttribute (validates current users roles + requested page against Role_Page database) for controller classes.I have to implement the function SiteMapProvider.IsAccessibleToUser(context, node). I also have to implement AuthorizeAttribute.AuthorizeCore(context).How are these two functions related? Isn't there some way to 'attribute' the SiteMapProvider?
Some code:
edit: Might this be a solution (inside AuthorizeCore())? context however is HttpContextBase, and IsAccessibleToUser() only takes HttpContext as parameter.If Not SiteMap.Provider.IsAccessibleToUser(context, SiteMap.CurrentNode) Then
current code:
Public Class CustomValidateAuthorization : Inherits AuthorizeAttribute Public Sub New() End Sub
I have an ASPX Custom Control which is supposed to load it's properties into an internal collection (defined with PersistenceMode.InnerProperty). Here's the ASPX
I have created a custom UserControl, with a custom designer, which contains a Panel which is editable. Any controls dropped onto this Panel will go off-form when an Anchor is set. This was already reported here and acknowledged as a bug:[URL].. Are there any known workarounds? Or available hotfixes for this issue?
I already implemented ISupportInitialize in my custom panel class, where i set the docking, which doesn't help. Here's the relevant code:
With VB.net, I'm coding a simple application to get more used to the new .Net format.
I'd like to save all the information to a 'new' database file. how to create a database on the fly, once that is done i'll be able to connect to it no problem, but actually creating the file is proving difficult to work/find out.
Also, with vb.net and the newly created custom file, how can it be made to automatically open that information with the program?
Is there a method in installation to associate the file type with the new program? How can i check when the program loads if a database file has been 'double-clicked' (rather than just running from the .exe of the program) and proceed to load the data?
EDIT1 - Extra InfoThe windows application has many different fields and content etc, then i need to save that to a file that could later be loaded by 'double clicking'. I assumed the easiest way would be to create a mini-database for each unique file
I recently downloaded VB 2010 Express so i am quite new to the language, but i have worked with dark basic, which seems to b very similar.Anyway, my problem is that i cannot seem to correctly set out my array of a custom type/class. i am trying to create two arrays, one of available entities and another of selected entities of which the user selects the entities to be dealt with in irrelevant ways. i have creates a button (called test) which adds some entities to the available list and all the entities come back the same value but they shouldnt be as you'll c in the code. i have run the step into command a found that "available.item(#).Name = " will change all of the entity's names.As of current i am working with lists as the array kept asking for a 'new' statement but i couldnt figure out where to put it.[code]
What I've done is create a User Control Library (Project) and I've added a single User Control to that project. The control contains a single FlowLayoutPanel, and I created a Property on the control itself to pass the FlowDirection from the Control to its FlowLayoutPanel child.
Build, reference, component appears in the Toolbox and everything works fine, but the property on the control does not appear in the Properties window when I go to edit it at design time.
I want to create a custom class that has inside an array of another custom class (see my code below) but when the programm runs is crashes. Why? What is the right expression???? Plz help I'm a newbie in VB.net.....
Public Class ctrarray Public nameclass As String Public ctrlindex(glvar_spaces) As ctrlindexclass End Class
I have been trying to solve a problem related to using RolesProviders in MVC.Basically I would like to an additional set of criteria to the roles table so that a user can switch roles based on what they are doing on the site.However as simple as it may sound its proving to be a nightmare. I cannot for love nor money come up with a solution. I have tried overloading the provider, creating extension methods (which never work with the Roles class) but finally I decided to simply create a reference to my own custom provider and just completely bypass the whole User, Roles class.Now I am getting a ridiculous error which states that I cannot cast MyProvider class to an instance of MyProvider class? All I am doing is calling the Roles.Provider method and casting its return value to my custom provider class (which inherits from RolesProvider). The asp.net forums are a waste of time since no one ever answers the questions and there are simply no examples of extending the Roles/Membership model without using SQL server.
I need two seperate lists, which every item is Integer, String, Bitmap - and one which every item is Integer, String String. However I don't know how to do this, or even where to look - I've googled for custom objects and custom object lists. What I'm trying to do is this.Custom Object1 is Integer, String, Bitmap Custom Object2 is Integer, String, String
In one thread I'll be adding items to List1(Of Object1), and processing them, and adding the results to List2(Of Object2), however I need to be able from other threads to look at the list and say only give me the items where Integer = (my thread ID), is this possible? Any help, or even links to information that would be relevant to this request would be helpful?