public SqlGuid CreateTeachingSchoolWorksPacket(
            string Owner
            ,string Re
            )
        {
            string connectionString = SqlHelper.ConnectionStringLocalTransaction;
            CommandType cmdType = CommandType.StoredProcedure;
            string cmdText = "teaching_SchoolWorksPackets_CreateSchoolWorksPacket";
            SqlParameter[] CommandParameters = {
                                                   
                                                   new SqlParameter("@Owner", SqlDbType.NVarChar, 256)
                                                   ,new SqlParameter("@Re", SqlDbType.NVarChar)
                                                   ,new SqlParameter("@ID",SqlDbType.UniqueIdentifier)
                                               };            CommandParameters[0].Value = Owner;
            CommandParameters[1].Value = Re;
            CommandParameters[2].Direction = ParameterDirection.Output;            SqlHelper.ExecuteNonQuery(connectionString, cmdType, cmdText, CommandParameters);
            SqlGuid TeachingSchoolWorksPacketID = (SqlGuid)CommandParameters[2];
            return TeachingSchoolWorksPacketID;        }上面方法中,下划线指出的那个转换被编译器指为非法,那么合法的作法应该是怎么样的呢? 在C#中应该如何获得数据库中的SqlDbType.UniqueIdentifier类型值呢?请高手指点!