小编Ale*_*lex的帖子

什么是测试序列化的最佳方法?

using System;
using System.Xml.Serialization;
using System.IO;

namespace Mailer {
    public class ClientConfiguration {

        public virtual bool Save(string fileName) {
            XmlSerializer serializer = new XmlSerializer(typeof(ClientConfiguration));
            using (StreamWriter writer = new StreamWriter(fileName)) {
                serializer.Serialize(writer, this);
            }
            return true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我想存根/模拟serializer.Serialize方法以确保调用该方法.我用moq和NMock尝试了很多方法但是失败了.

请帮助我存根/模拟对序列化程序的调用.

.net c# tdd moq mocking

6
推荐指数
1
解决办法
1356
查看次数

正则表达式:命名组和替换

有一种方法

Regex.Replace(string source, string pattern, string replacement)
Run Code Online (Sandbox Code Playgroud)

最后一个参数支持模式替换,例如${groupName}和其他参数(但我不知道运行时中的组名).

在我的情况下,我有动态创建的模式,如:

(?<c0>word1)|(?<c1>word2)|(?<c2>word3)
Run Code Online (Sandbox Code Playgroud)

我的目的是使用取决于组名的值替换每个组.例如,单词"word1"将替换为<span class="c0">word1</span>.这是针对像谷歌一样突出显示的搜索结果.

是否可以使用上述方法不使用带MatchEvaluator参数的重载方法来执行此操作?

提前致谢!

.net c# regex

5
推荐指数
1
解决办法
1892
查看次数

具有至少一个字母的字母数字字符串或字符串中的至少一个数字的正则表达式

为了测试一个字母数字字符串,我们通常使用正则表达式"^[a-zA-Z0-9_]*$"(或最优选地"^\w+$"用于C#).但是这个正则表达式只接受数字字符串或仅字母表字符串,如"12345678""asdfgth".

我需要一个正则表达式,它只接受至少包含一个字母和一个数字的字母数字字符串.也就是说,正则表达式"ar56ji"将是正确的字符串之一,而不是之前说过的字符串.

提前致谢.

c# regex

5
推荐指数
1
解决办法
1万
查看次数

正则表达式字符串,用于查找不以91开头的数字

我正在尝试缩小以下正则表达式:

/\b([0-9]{22})\b/
Run Code Online (Sandbox Code Playgroud)

只匹配22不能开头的数字"91".有人知道怎么做吗?

regex

5
推荐指数
1
解决办法
3113
查看次数

从SQLite FTS表中获取反向索引

在我使用Sqlite和FTS表在我的应用程序中实现全文搜索功能后,我会感兴趣的是从我的FTS表中检索FULL倒排索引的高效方法.实际上 - 我需要一个结果表,包括所有术语之间的映射 - > docid - >出现次数.

遵循Sqlite FTS 文档 - 在创建表之后

-- Create an FTS4 table
CREATE VIRTUAL TABLE ft USING fts4(x, y);

-- Create an fts4aux table to access the full-text index for table "ft"
CREATE VIRTUAL TABLE ft_terms USING fts4aux(ft);
Run Code Online (Sandbox Code Playgroud)

...和内容插入......

INSERT INTO ft(x, y) VALUES('Apple banana', 'Cherry');
INSERT INTO ft(x, y) VALUES('Banana Date Date', 'cherry');
INSERT INTO ft(x, y) VALUES('Cherry Elderberry', 'Elderberry');
Run Code Online (Sandbox Code Playgroud)

...而不是像FTS AUX表中的所有文件中只有条款和出现次数......

SELECT term, col, documents, occurrences FROM ft_terms;

--     apple       |  * …
Run Code Online (Sandbox Code Playgroud)

database sqlite full-text-search inverted-index

5
推荐指数
0
解决办法
899
查看次数

TINYMCE设定焦点...只是不起作用

我试过了

tinyMCE.execInstanceCommand("content", "mceFocus");
Run Code Online (Sandbox Code Playgroud)

我试过了

tinyMCE.execCommand('mceFocus', false, "content");
Run Code Online (Sandbox Code Playgroud)

他们似乎都没有工作:-(

javascript tinymce focus set

4
推荐指数
1
解决办法
8550
查看次数

如何将二进制转换为字节并在c#中写为文件

我试图从数据库中读取二进制文件,并使用c#在本地磁盘中写入文件.

使用下面的代码......但是这行有问题: byte[] fileAsByte = byte.Parse(row["Blob"]);

public static void ReadBlob()
{ 
    int icount = 0;
    string FileName;
    SqlConnection Mycon = new SqlConnection(Con);
    Mycon.Open();
    string queryString = "select * from " + TblName;
    SqlDataAdapter adapter = new SqlDataAdapter(queryString, Mycon);

    DataTable dtBlob = new DataTable();
    adapter.Fill(dtBlob);


    foreach (DataRow row in dtBlob.Rows)
    {
        byte[] fileAsByte = byte.Parse(row["Blob"]);
        FileName = FilePath + TblName + row["BlobId"].ToString() + FileType;

        WriteBlob(fileAsByte, FileName);
    }

    Mycon.Close();
}

public static void WriteBlob(byte[] buff, string fileName)
{
    try
    {
        FileStream fs …
Run Code Online (Sandbox Code Playgroud)

.net c#

4
推荐指数
1
解决办法
3736
查看次数

关闭项目后,EF Data Migrations不起作用

我正在使用实体框架数据迁移.如果我改变了关于entites或其他东西的东西,我尝试在Package Manager Console上使用" add-migration MyFirstMigration ".但它返回一个例外:

The term 'add-migration' is not recognized as the name of a cmdlet, function, script  file, or operable program. Check the spelling of the name, or if a path was inclu
ded, verify that the path is correct and try again.
At line:1 char:14
+ add-migration <<<< 
+ CategoryInfo          : ObjectNotFound: (add-migration:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Run Code Online (Sandbox Code Playgroud)

如果我从Nuget卸载EntityFramework.Migrations并重新安装它使用相同的代码(" add-migration MyFirstMigration "," update-database ")直到关闭项目.

我该怎么办呢?有没有其他人经历过这个?

编辑:顺便说一句,它在另一台PC上工作正常...

data-migration entity-framework-4.1 ef-migrations

4
推荐指数
1
解决办法
3804
查看次数

如果将[user instances = true]添加到连接字符串,则会引发异常

例外细节:

System.Data.SqlClient.SqlException:无法打开登录请求数据库"RealtyDB"登录失败.账号'FAFHN24BNK43\JKAD754'登录失败.

我的连接字符串如下所示:

add name = "ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;User Instance=True;Initial Catalog=RealtyDB;Integrated Security=SSPI;"
         providerName="System.Data.SqlClient"       
Run Code Online (Sandbox Code Playgroud)

如果我删除了[User Instance=True;],我的申请将没事.

有人知道为什么吗?

.net sql-server ado.net connection-string

4
推荐指数
1
解决办法
2734
查看次数

ODP.NET如何将字符串数组传递给Oracle存储过程?

关于这个问题有很多问题和令人困惑的 文档,但到目前为止还没有运气.

我有以下PL/SQL存储过程;

PROCEDURE PS_test(
  Liste1 Listcar,
  Liste2 Listcar,
  P_CURS_MESSAGE out CURSOR_REF_TYP
)
Run Code Online (Sandbox Code Playgroud)

类型Listcar如下:

TYPE Listcar IS VARRAY(100)OF VARCHAR2(50);

这是我到目前为止所尝试的:

string[] list = { "name1", "name1" };

OracleParameter oParam = (OracleParameter)myOracleCommand.CreateParameter();
oParam.ParameterName = "Liste1";
oParam.UdtTypeName = "LISTCAR";
oParam.Value = list;
oParam.Direction = ParameterDirection.Input;
myOracleCommand.Parameters.Add(oParam);
Run Code Online (Sandbox Code Playgroud)

在值赋值上出现以下错误:

Value does not fall within the expected range.
Run Code Online (Sandbox Code Playgroud)

试图使用类型varchr2,设置ArrayBindSize等,但到目前为止没有运气.

我猜界面IOracleArrayTypeFactory可能会在某处发挥作用,但是如何?

c# oracle odp.net

4
推荐指数
1
解决办法
2万
查看次数