Search Results

Search found 24726 results on 990 pages for 'message passing'.

Page 565/990 | < Previous Page | 561 562 563 564 565 566 567 568 569 570 571 572  | Next Page >

  • WD My Passport Essential SmartWare External Hard Drive

    - by Acer
    Hi Ive been gifted a My Passport SmartWare External Hard Drive(500gb). I used it and it works fine and installed WDSmartWare The Second time i used it,still fine,but I took it out without using the "Safely Remove Hardware" So the third time I used it,there's a bubble come out that says: USB Device Not Recognized One of the USB devices attached to this computer has malfunctioned, and Windows does not recognize it.For assistance in solving the problem, click this message. I tried connecting it to other USB Ports but it didn't work I tried Uninstalling WDSmarWare and connect it but it didn't work Please help me I like this hard drive so much and I spoilt it easily XD P.S I think about 13% has been used up in the Hard Drive P.S.S Other USBs can work fine in the computer P.S.S.S I tried connecting it to other computer and works fine OMG

    Read the article

  • An MCM exam, Rob? Really?

    - by Rob Farley
    I took the SQL 2008 MCM Knowledge exam while in Seattle for the PASS Summit ten days ago. I wasn’t planning to do it, but I got persuaded to try. I was meaning to write this post to explain myself before the result came out, but it seems I didn’t get typing quickly enough. Those of you who know me will know I’m a big fan of certification, to a point. I’ve been involved with Microsoft Learning to help create exams. I’ve kept my certifications current since I first took an exam back in 1998, sitting many in beta, across quite a variety of topics. I’ve probably become quite good at them – I know I’ve definitely passed some that I really should’ve failed. I’ve also written that I don’t think exams are worth studying for. (That’s probably not entirely true, but it depends on your motivation. If you’re doing learning, I would encourage you to focus on what you need to know to do your job better. That will help you pass an exam – but the two skills are very different. I can coach someone on how to pass an exam, but that’s a different kind of teaching when compared to coaching someone about how to do a job. For example, the real world includes a lot of “it depends”, where you develop a feel for what the influencing factors might be. In an exam, its better to be able to know some of the “Don’t use this technology if XYZ is true” concepts better.) As for the Microsoft Certified Master certification… I’m not opposed to the idea of having the MCM (or in the future, MCSM) cert. But the barrier to entry feels quite high for me. When it was first introduced, the nearest testing centres to me were in Kuala Lumpur and Manila. Now there’s one in Perth, but that’s still a big effort. I know there are options in the US – such as one about an hour’s drive away from downtown Seattle, but it all just seems too hard. Plus, these exams are more expensive, and all up – I wasn’t sure I wanted to try them, particularly with the fact that I don’t like to study. I used to study for exams. It would drive my wife crazy. I’d have some exam scheduled for some time in the future (like the time I had two booked for two consecutive days at TechEd Australia 2005), and I’d make sure I was ready. Every waking moment would be spent pouring over exam material, and it wasn’t healthy. I got shaken out of that, though, when I ended up taking four exams in those two days in 2005 and passed them all. I also worked out that if I had a Second Shot available, then failing wasn’t a bad thing at all. Even without Second Shot, I’m much more okay about failing. But even just trying an MCM exam is a big effort. I wouldn’t want to fail one of them. Plus there’s the illusion to maintain. People have told me for a long time that I should just take the MCM exams – that I’d pass no problem. I’ve never been so sure. It was almost becoming a pride-point. Perhaps I should fail just to demonstrate that I can fail these things. Anyway – boB Taylor (@sqlboBT) persuaded me to try the SQL 2008 MCM Knowledge exam at the PASS Summit. They set up a testing centre in one of the room there, so it wasn’t out of my way at all. I had to squeeze it in between other commitments, and I certainly didn’t have time to even see what was on the syllabus, let alone study. In fact, I was so exhausted from the week that I fell asleep at least once (just for a moment though) during the actual exam. Perhaps the questions need more jokes, I’m not sure. I knew if I failed, then I might disappoint some people, but that I wouldn’t’ve spent a great deal of effort in trying to pass. On the other hand, if I did pass I’d then be under pressure to investigate the MCM Lab exam, which can be taken remotely (therefore, a much smaller amount of effort to make happen). In some ways, passing could end up just putting a bunch more pressure on me. Oh, and I did.

    Read the article

  • Getting the alternative to the 200-Line Linux Kernel patch to work

    - by Gödel
    Apparently, there is a comparable alternative to the 200-line kernel patch that involves no kernel upgrade. It is presented here and discussed here. However, I am not sure if webupd8's solution (under the section "Use it in Ubuntu") on Ubuntu actually works or not. In particular, one commenter on ./ is saying he's getting an error message. Could anyone post the "correct" method that actually works? Suggested solution: Based on the comments I've read so far, the following seems to work. (1) In /etc/rc.local, add the following lines to above exit 0: mkdir -p /dev/cgroup/cpu mount -t cgroup cgroup /dev/cgroup/cpu -o cpu mkdir -m 0777 /dev/cgroup/cpu/user echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent (2) Create a file named /usr/local/sbin/cgroup_clean with the following content: #!/bin/sh rmdir /dev/cgroup/cpu/$1 (3) In your ~/.bashrc, add: if [ "$PS1" ] ; then mkdir -m 0700 /dev/cgroup/cpu/user/$$ echo $$ > /dev/cgroup/cpu/user/$$/tasks echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release fi (4) (To make sure the execution bit is on) execute sudo chmod +x /usr/local/sbin/cgroup_clean /etc/rc.local (5) Reboot.

    Read the article

  • Is it possible to load balance requests from a single source?

    - by Shawn
    In our application, Server A establishes a TCP connection with Server B, then it sends a large amount of requests to Server B over the TCP connection. The request message is XML-based. Server B needs to respond within a very short period, and it takes time to process the requests. So we hope a load balancer can be introduced and we can expedite the processing by using multiple Server B's. This is not a web application. I did some research but failed to find a similar application of load balancer. Can anyone tell me if there's a load balancer can help in our application?

    Read the article

  • VMWare player grabbing mouse focus

    - by Bryan Rowe
    I am using the newest VMWare player on a Windows 7 machine. When I have the player open on one of my two monitors I get some weird behavior. For instance, if the player is open on monitor 2, and I minimize firefox on monitor 1, my mouse will instantly switch to the monitor 2 and be centered within the VMWare player window. This happens when I minimize any window after having been working in my VM. I hope there is a setting or tweak that I am not aware of that can remedy this. EDIT: Through more testing I have found that this only occurs when the VMWare player is full screen on either of my two monitors. Also, I found people having the exact same issue at: http://communities.vmware.com/message/1244913

    Read the article

  • Windows 7: Can't see ISO file in C:\

    - by cbp
    I used DVD shrink to create an ISO file and saved it into C:\ The ISO file is visible with some programs but not with others. The file is not hidden as far as I am aware. But it cannot be seen by Windows Explorer, DVD Decrypter or a bunch of other programs. If I search for the file using Windows 7's Start Menu search tool, I can see the file and I can right click and select Properties. The Properties window appears OK, but if I try to change tabs on the property window, I receive an error message as though the file is not there. DVD Shrink can still open the file OK. I can also find the file using Agent Ransack (a file searching tool), but then I cannot open it. What gives?

    Read the article

  • Using an allowed user list with VSFTPD

    - by Naftuli Tzvi Kay
    According to the Wiki here, you can only allow certain users to log in over FTP using the following configuration in your /etc/vsftp.conf file: userlist_enable=YES userlist_file=/etc/vsftp.user_list userlist_deny=NO I've configured my system to use this configuration, and I only have one user which I'd like to expose over FTP named streams, so my /etc/vsftp.user_list looks like this: streams Interestingly enough, I cannot log in once I enable to user list. If I change userlist_enable to NO, then things work properly, but if I enable it, I can't log in all, it just keeps trying to reconnect. I don't get a login failed message, it just keeps trying to reconnect when using lftp. My /etc/vsftp.conf file is available on Pastebin here and my /etc/vsftp.user_list is available here. What am I doing wrong here? I'd just like to only make the streams user able to log in.

    Read the article

  • PLESK Original php.ini files needed

    - by Saif Bechan
    Hello, I am using PLESK 9.2.3 with CentOS 5. I recently tried to change some things in the php.ini files, but i ended up clearing both files. stupid mistake! Is there a possibility i can get the content of both files back. I am talking about the files: /etc/php.ini /usr/local/psa/admin/conf/php.ini or was it /etc/php.ini /usr/local/psa/admin/conf/.php.ini When i browse to my PLESK panel i get the error message: Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Fatal error: Unknown: Failed opening required 'auth.php3' (include_path='.:') in Unknown on line 0 Thats as much information i can get, i hope someone can make some sense of all this Regrads EDIT: I ended up just reinstalling plesk which was fairly easy. Something like yum install psa-plesk. There was a guide i followed, and everything worked out ok

    Read the article

  • Forcing the from address when postfix relays over smtp

    - by John Whitlock
    I'm trying to get email reports from our AWS EC2 instances. We're using Exchange Online (part of Microsoft Online Services). I've setup a user account specifically for SMTP relaying, and I've setup Postfix to meet all the requirements to relay messages through this server. However, Exchange Online's SMTP server will reject messages unless the From address exactly matches the authentication address (the error message is 550 5.7.1 Client does not have permissions to send as this sender). With careful configuration, I can setup my services to send as this user. But I'm not a huge fan of being careful - I'd rather have postfix force the issue. Is there a way to do this?

    Read the article

  • Embedded Net DVR camera1 failed to start preview!

    - by user44212
    I am gettig the following error as "Embedded Net DVR camera1 failed to start preview!" when we are trying to login and view the preview of the cameras on the DVR 8116HCI-S Standalone. There is an IP Address assigned to the same via which we access the same. I checked the site for information here http://www.hikvision.com/en/Products_show.asp?id=32. But could not find any useful information relating to the error message. We can access the same via login in from one machine but we are not able to access it from more than one machine.

    Read the article

  • crash when using wireless network

    - by Erik
    ubuntu 12.04 32 bit When I start up my system almost instantly freezes, I found that the problem lays with my wireless network, because the crash is always t the same time as the message that tells me I am connected to a network when I start up connected to a cable everything works fine, I can even see that I am connected to our wireless network, until I unplug the ethernet cable, then it all freezes again the same happened when I boot from a live cd (from usb) The problem only occurs on my netbook, my laptop doesn't give any problems. I don't know if anyone else has had similar problems, or if anyone knows a solution... Thanks in advance! greetings Erik EDIT (21/3/2012): it seems there is some external factor involved, I'm using my netbook for about 50 minutes now while connected to the wireless network, and still it didn't crash strange enough, before these 50 minutes I had to put it down by holding the power button, because I decided to try it again, that time it did crash... before (while connected with an ethernet cable) I've been trying to get my Bluetooth working, that didn't succeed entirely, but I guess that might be a factor in the question why it doesn't crash at the moment now I rebooted, connected, and no crash... if it crashes again, I'll update this post again. in the meantime, if anyone has an idea on what could be a factor, and on how to create a crash using that factor, feel free to ask!

    Read the article

  • Replication in PG 9 between Windows and Linux boxes

    - by mlaverd
    I have PostgreSQL 9 running on Windows 2003 SP2. I am trying to replicate it on a Fedora 12 system running PostgreSQL 9 as well. I am hitting this error message: /usr/pgsql-9.0/bin/postgres -D /var/lib/pgsql/9.0/data/ -p 5432 2011-02-11 17:43:26 ISTFATAL: incorrect checksum in control file Because of firewall restrictions, I could not follow the official instructions to the letter. Instead, I zipped the contents of the data directory when the server was offline and copied that to the Linux box. I ran a sha1deep on both directories and there were no mismatches. I changed the rights so that only the postgres user and group had access to the files. Now, what can I do for replication to work? I tried with a 'pg_dumpall', but the system complains that the database IDs do no match.

    Read the article

  • Windows 7 Easy Transfer does not start (Windows XP)

    - by Gerhard Weiss
    Windows 7 Easy Transfer does not start on my Windows XP system. I installed Windows 7 Easy Transfer and when I click to start it nothing happens. Not even an error message. I uninstalled and reinstalled a few times with the same results. I even tried starting it from C:\Program Files\Windows Easy Transfer 7\migwiz.exe with the same results. Nothing happens! Any one else run into this issue? Any suggestions on how to start it up differently? This is my work system so I do not know if they have it locked down. This is a Windows XP, Dell OptiPlex755 built about 3 years ago. I downloaded the 32-bit from this website: http://windows.microsoft.com/en-us/windows7/products/features/windows-easy-transfer and yes my system is 32-bit ;)

    Read the article

  • problem installing mysql on ubuntu server 10.10 machine

    - by badperson
    Hi, I tried installing mysql a couple of times and I'm having problems. First of all, when I install it gives me a message that it's setting up and it just hangs. I can't ctl + c out of it, so I reboot the server and try to log into the db with sudo mysql -u root -p I enter my password and then get ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) I restart the server: sudo /etc/init.d/mysql start Rather than invoking init scripts through /etc/init.d, use the service(8) utility, e.g. service mysql start Since the script you are attempting to invoke has been converted to an Upstart job, you may also use the start(8) utility, e.g. start mysql ~$ I try this: aptitude search mysql | grep ^i i A libdbd-mysql-perl - Perl5 database interface to the MySQL data i libmysql-java - Java database (JDBC) driver for MySQL i A libmysqlclient16 - MySQL database client library i mysql-client-5.1 - MySQL database client binaries i A mysql-client-core-5.1 - MySQL database core client binaries i mysql-common - MySQL database common files, e.g. /etc/mys i mysql-embedded - MySQL - embedded library i mysql-server-core-5.1 - MySQL database server binaries When I navigate to the folder to see if the *.sock file exists: '/var/run/mysqld/mysqld.sock' it does not. I also try this: service mysql status status: Unable to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory Any ideas? On my other machines installing mysql has been a snap, not sure what the problem is here. bp

    Read the article

  • Sql Server 2005 Service Pack 3 does not install

    - by John Hoge
    I'm trying to install SP3 on an install of Sql Server 2005 running on Server 2003 32 bit. When I run the installer it doesn't seem to recognize that I have SQL Server 2005 installed. The dialog box that asks what features should be updated doesn't show any by default. More troubling, it doesn't allow me to check any of those boxes to update features like Database Services or Reporting Services. When I select one of these services, the "Status" box says "Not Valid". The message says something about more recent updates, but Select @@Version gives me this: Microsoft SQL Server 2005 - 9.00.4053.00 (Intel X86) May 26 2009 14:24:20 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

    Read the article

  • Error when installing SQL Server 2008 R2 Express

    - by dretzlaff17
    When installing SQL Server 2008 R2 from the command line prompt, I am getting the following error that is recorded in the Summary file. Scenario specific rules: Rules report file: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20101217_131444\SystemConfigurationCheck_Report.htm Exception summary: The following is an exception stack listing the exceptions in outermost to innermost order Inner exceptions are being indented Exception type: System.ArgumentNullException Message: Value cannot be null. Parameter name: path2 Data: DisableWatson = true Stack: at System.IO.Path.Combine(String path1, String path2) at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPublic.RecomputeDirectoryPaths() at Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineSetupPublic.Calculate() at Microsoft.SqlServer.Configuration.SetupExtension.FinalCalculateSettingsAction.ExecuteAction(String actionId) at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream) at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(TextWriter statusStream, ISequencedAction actionToRun) Has anyone seen this. Here is what I am sending for the command line parameters. /q /ACTION=Install /FEATURES=SQLEngine /SECURITYMODE=SQL /SAPWD="myPassword" /BROWSERSVCSTARTUPTYPE=Automatic /SQLSVCSTARTUPTYPE=Automatic /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /IACCEPTSQLSERVERLICENSETERMS

    Read the article

  • Windows-Server-2003 setup on Dell-PowerEdge R310 is hanging [closed]

    - by Robert Rose
    Possible Duplicate: Problems installing OS on Dell PowerEdge R410 I am trying to configure a Dell PowerEdge R310 server with Windows Server 2003. I've already configured the two hard drives as RAID1. The HD controller is PERC H700 Integrated and Adapter. Trying to stay with Windows Server 2003 on this fairly new server to save on cost and keep the configuration the same as my old server, which has been running like a champ for five years. Problem: During the OS installation, after everything has been copied from the installation CD, the installation hangs at a window labeled 'Windows Setup' with the message 'Setup is starting Windows' at the bottom. I'm wondering if this is a driver problem and if so, where can I get the drivers for the R310 or where can I get the media for the latest version of Windows Server 2003 which may include the necessary drivers? Will certainly appreciate some help here.

    Read the article

  • How to fix? => Your system administrator does not allow the user of saved credentials to log on to the remote computer

    - by Pure.Krome
    At our office, any of our Windows 7 Clients get this error message when we try and RDP to a remote W2K8 Server outside of the office :- Your system administrator does not allow the user of saved credentials to log on to the remote computer XXX because its identity is not fully verified. Please enter new credentials A quick google search leads to some posts they all suggest I edit group policy, etc. I'm under the impression, that the common fix for this, is to follow those instructions -per Windows7 machine-. Ack :( Is there anyway I can do something via our office Active Directory .. which auto updates all Windows 7 clients in the office LAN?

    Read the article

  • How to debug xsane "no devices available" error on 64 bit Ubuntu 10.04

    - by BD at Rivenhill
    I have a Brother MFC-J615W printer/scanner and I wish to use the scanning feature across a network with a computer running 64-bit Ubuntu 10.04. I have installed the drivers from the Brother website and followed all of the instructions, and printing works fine, but xsane (installed from repositories) produces a popup with the message "no devices available" on startup. I recently had success with a similar approach when installing drivers for a Brother MFC-495CW on 32-bit Unbuntu 9.10, so I am aware of issues such as requiring root access if the driver permissions are not set correctly, but running xsane as root does not solve this problem. Are there any tools available to debug this problem further or does anyone have advice on how to proceed?

    Read the article

  • Code review “on a napkin” — could it be useful?

    - by gaRex
    Preconditions Team uses DVCS IDE supports comments parsing (like TODO and etc.) Tools like CodeCollaborator are expensive for budget Tools like gerrit are too complex for install or not usable Workflow Author publishes somewhere on central repo feature branch Reviewer fetch it and start review In case of some question/issue reviewer create comment with special label, like "BLA". Such label MUST not be in production code -- only on review stage: $somevar = 123; // BLA Why do echo this here? echo $somevar; When reviewer finish post comments -- it just commits with stupid message "comments" and pushes back Author pulls feature branch back and answer comments in similar way or improve code and push it back When "BLA" comments have gone we can think, that review has successfully finished. Author interactively rebases feature branch, stashes it to remove those "comment" commits and now is ready to merge feature to develop or make any action that usualy could be after successful internal review IDE support I know, that custom comment tags are possible in eclipse & netbeans. Sure it also should be in blablaStorm family. So my specific questions are Do you think this methodology is viable? Do you know something similar? What can be improved in it? ps: migrated from http://stackoverflow.com/questions/12692695/code-review-on-a-napkin-could-it-be-useful

    Read the article

  • WinXP Movie Maker Codec Error

    - by Bob Rivers
    Hi, I'm trying to use Windows XP Movie Maker, but when I try to import an AVI video, it shows an error telling me that it wasn't import due to an the fact that the codec wasn't available (I'm able to see the video using the windows media player) First, the error message suggested to enable the option "download codecs automatically" under "tools options general". I did it. But know the error tells me that the codec wasn't available and, if I already installed it, I should reinitialize movie maker. I also already did it... The error msg is: The file D:\movie1.avi cannot be imported because the codec required to play the file is not installed on your computer. If you have already tried to download and install the codec, close and restart Windows Movie Maker, and then try to import the file again. Any hint? TIA, Bob

    Read the article

  • Debian Unstable + Postfix 2.6.5 + dkim-filter 2.8.2 issue

    - by kura
    I have Postfix installed on Debian Unstable, as the title states, the system is completely up-to-date, I have tried to get DKIM signatures working on outgoing mail using dkim-filter 2.8.2. I couldn't use the default Debian way of doing things with sockets, instead I used the Ubuntu way: SOCKET="inet:12345@localhost"` I have the following in my postfix/main.cf milter_default_action = accept milter_protocol = 6 smtpd_milters = inet:localhost:12345 non_smtpd_milters = inet:localhost:12345 All is fine except I get the following message I start DKIM in mail.log: dkim-filter[22029]: can't configure DKIM library; continuing And when it tries to sign mails I get the following error: postfix/cleanup[22042]: warning: milter inet:localhost:12345: can't read SMFIC_EOH reply packet header: Success And then dkim-filter daemon stops. I've looked through Google but found no actual way to fix this that works for me. I have this working fine on an Ubuntu server but would love to get it working on Debian too.

    Read the article

  • Installed mountain lion, getting a python virtual env error?

    - by user27449
    I recently installed mountain lion (10.8) and when I open up my terminal I get this message: Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named virtualenvwrapper.hook_loader virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is set properly. Before I try and fix this, I was hoping someone could guide me as I haven't touched python in a while and I don't want to mess up this installation.

    Read the article

  • Register for windows Upgrade Offer from Windows 7 to Windows 8

    - by BumbleBee
    I have to register for windows Upgrade Offer from here. I purchased Dell Inspiron 5520 laptop before 2 weeks and I got windows 7 Home Basic in it. But now I want to register for windows upgrade offer, When I filled up registration form and submit then it displayed that I am not eligible for this kind of offer. I don't know why this message is displaying although I bought laptop in between eligible time period. I think, I was filling wrong details in form. Because I am not sure about what to fill in Retailer's Name, Purchase Date and PC Model. And one thing is how to find right purchase Date from my product's Service Tag ? Which date I have to fill in form, Shipping Date OR Manufacture Date? Please Provide me a right direction to register and correct information regarding Retailer'Name and Purchase Date and PC Model.

    Read the article

  • C# 4.0: Covariance And Contravariance In Generics

    - by Paulo Morgado
    C# 4.0 (and .NET 4.0) introduced covariance and contravariance to generic interfaces and delegates. But what is this variance thing? According to Wikipedia, in multilinear algebra and tensor analysis, covariance and contravariance describe how the quantitative description of certain geometrical or physical entities changes when passing from one coordinate system to another.(*) But what does this have to do with C# or .NET? In type theory, a the type T is greater (>) than type S if S is a subtype (derives from) T, which means that there is a quantitative description for types in a type hierarchy. So, how does covariance and contravariance apply to C# (and .NET) generic types? In C# (and .NET), variance applies to generic type parameters and not to the resulting generic type. A generic type parameter is: covariant if the ordering of the generic types follows the ordering of the generic type parameters: Generic<T> = Generic<S> for T = S. contravariant if the ordering of the generic types is reversed from the ordering of the generic type parameters: Generic<T> = Generic<S> for T = S. invariant if neither of the above apply. If this definition is applied to arrays, we can see that arrays have always been covariant because this is valid code: object[] objectArray = new string[] { "string 1", "string 2" }; objectArray[0] = "string 3"; objectArray[1] = new object(); However, when we try to run this code, the second assignment will throw an ArrayTypeMismatchException. Although the compiler was fooled into thinking this was valid code because an object is being assigned to an element of an array of object, at run time, there is always a type check to guarantee that the runtime type of the definition of the elements of the array is greater or equal to the instance being assigned to the element. In the above example, because the runtime type of the array is array of string, the first assignment of array elements is valid because string = string and the second is invalid because string = object. This leads to the conclusion that, although arrays have always been covariant, they are not safely covariant – code that compiles is not guaranteed to run without errors. In C#, the way to define that a generic type parameter as covariant is using the out generic modifier: public interface IEnumerable<out T> { IEnumerator<T> GetEnumerator(); } public interface IEnumerator<out T> { T Current { get; } bool MoveNext(); } Notice the convenient use the pre-existing out keyword. Besides the benefit of not having to remember a new hypothetic covariant keyword, out is easier to remember because it defines that the generic type parameter can only appear in output positions — read-only properties and method return values. In a similar way, the way to define a type parameter as contravariant is using the in generic modifier: public interface IComparer<in T> { int Compare(T x, T y); } Once again, the use of the pre-existing in keyword makes it easier to remember that the generic type parameter can only be used in input positions — write-only properties and method non ref and non out parameters. Because covariance and contravariance apply only to the generic type parameters, a generic type definition can have both covariant and contravariant generic type parameters in its definition: public delegate TResult Func<in T, out TResult>(T arg); A generic type parameter that is not marked covariant (out) or contravariant (in) is invariant. All the types in the .NET Framework where variance could be applied to its generic type parameters have been modified to take advantage of this new feature. In summary, the rules for variance in C# (and .NET) are: Variance in type parameters are restricted to generic interface and generic delegate types. A generic interface or generic delegate type can have both covariant and contravariant type parameters. Variance applies only to reference types; if you specify a value type for a variant type parameter, that type parameter is invariant for the resulting constructed type. Variance does not apply to delegate combination. That is, given two delegates of types Action<Derived> and Action<Base>, you cannot combine the second delegate with the first although the result would be type safe. Variance allows the second delegate to be assigned to a variable of type Action<Derived>, but delegates can combine only if their types match exactly. If you want to learn more about variance in C# (and .NET), you can always read: Covariance and Contravariance in Generics — MSDN Library Exact rules for variance validity — Eric Lippert Events get a little overhaul in C# 4, Afterward: Effective Events — Chris Burrows Note: Because variance is a feature of .NET 4.0 and not only of C# 4.0, all this also applies to Visual Basic 10.

    Read the article

< Previous Page | 561 562 563 564 565 566 567 568 569 570 571 572  | Next Page >