小编Ste*_*fan的帖子

在.NET中指定DllImport的搜索路径

有没有办法为使用DllImport导入的给定程序集指定要搜索的路径?

[DllImport("MyDll.dll")]
static extern void Func();
Run Code Online (Sandbox Code Playgroud)

这将在app dir和PATH环境变量中搜索dll.但有时dll会放在其他地方.可以在app.config或清单文件中指定此信息以避免动态加载和动态调用吗?

.net dllimport

53
推荐指数
3
解决办法
3万
查看次数

AssertionFailure:"null identifier" - FluentNH + SQLServerCE

代码失败了

session.Save(employee);
Run Code Online (Sandbox Code Playgroud)使用AssertionFailure"null identifier".我究竟做错了什么?

using FluentNHibernate.Cfg;
using FluentNHibernate.Cfg.Db;
using FluentNHibernate.Mapping;
using NHibernate;
using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl;

namespace FNHTest
{
    public class Employee
    {
        public virtual int Id
        {
            get;
            private set;
        }

        public virtual string Name
        {
            get;
            set;
        }

        public virtual string Surname
        {
            get;
            set;
        }
    }

    public class EmployeeMap : ClassMap
    {
        public EmployeeMap()
        {
            Id(e => e.Id);
            Map(e => e.Name);
            Map(e => e.Surname);
        }
    }

    public class DB
    {
        private static ISessionFactory mySessionFactory = null;

        private …
Run Code Online (Sandbox Code Playgroud)

fluent-nhibernate sql-server-ce

14
推荐指数
1
解决办法
4520
查看次数

.NET中的XmlSerializer与XmlSchemaForm.Unqualified

鉴于以下代码:

using System;
using System.Xml.Schema;
using System.Xml.Serialization;

namespace XmlSerializationTest
{
    [XmlType(Namespace = "http://www.test.com")]
    public class Element
    {
        [XmlElement]
        public int X;
    }

    [XmlRoot(Namespace = "http://www.test.com")]
    public class Root
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public Element Element;
    }

    public static class Program
    {
        public static void Main(string[] args)
        {
            var root = new Root { Element = new Element { X = 1 } };
            var xmlSerializer = new XmlSerializer(typeof(Root));
            xmlSerializer.Serialize(Console.Out, root);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

<?xml version="1.0" encoding="ibm852"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" …
Run Code Online (Sandbox Code Playgroud)

.net c# xml-serialization xml-namespaces wscf

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

Python每个模块和包一个类

我正在尝试用Python构建我的应用程序.从C#/ Java背景回来,我喜欢每个文件一个类的方法.我希望我的项目树看起来像这样:

[Service]
    [Database]
        DbClass1.py
        DbClass2.py
    [Model]
        DbModel1.py
        DbModel2.py
    TheService.py
[ServiceTests]
    [Database]
        DbClass1Tests.py
        DbClass2Tests.py
    [Model]
        DbModel1Tests.py
        DbModel2Tests.py
    TheServiceTests.py
Run Code Online (Sandbox Code Playgroud)
  1. 在Python中,每个文件的一个类是否正常?
  2. 是否可以以这样的方式创建包/模块,以便包像Java的包或.NET的命名空间一样工作,即在DbModel1Tests.py中:

    import Service.Model
    
    def test():
       m = DbModel1()
    
    Run Code Online (Sandbox Code Playgroud)

python packages

5
推荐指数
2
解决办法
4807
查看次数

在ANTLR中编写语言转换器

我正在用相同编程语言的某些方言之间编写一个转换器.我在网上找到了一个语法 - 它很复杂,处理所有情况.现在我正在尝试编写适当的操作.

大多数输入只是被重写为输出.我需要做的是解析函数调用,做我的魔术(重命名函数,重新排序参数等)并编写它.

我正在使用AST作为输出.当我遇到函数调用时,我构建了一个自定义对象结构(从我的目标语言定义的类),调用适当的函数,我有一个字符串,表示我想要获得的转换函数.

问题是,我应该用那个字符串做什么?我想替换封闭规则的.text属性,但setText()仅在词法分析器规则上可用,并且规则的.text属性是只读的.如何解决这个问题呢?

program
    : statement_list            { output = $statement_list.text; }
    ;

//...

statement
    :   expression_statement
    // ...
    ;

expression_statement
    : function_call
    // ...
    ;

function_call
    : ID '('                    { /* build the object, assign name */
                                  Function function = new Function();
                                  //...
                                }
      (
      arg1 = expression         { /* add first parameter */ }
      ( ',' arg2 = expression   { /* add the rest of parameters */ }
      )*
      )?
      ')'                       { /* convert the function …
Run Code Online (Sandbox Code Playgroud)

rewrite antlr

3
推荐指数
1
解决办法
2144
查看次数

Oracle Data Provider 到 CLR 类型的映射

在哪里可以找到 ODP 到 CLR 类型映射的列表?在 Oracle 数据库上,NUMBER(9,0) 类型在 .NET 应用程序中作为 MS Oracle 驱动程序中的 System.Decimal 出现,但在 ODP 驱动程序中作为 System.Int32 出现。我需要来自数据库的类型的精确规范(而不是 CLR 到 DB 参数映射)。

mapping clr odp.net

3
推荐指数
1
解决办法
5736
查看次数

ATL :: CComModule :: RegisterServer

ATL :: CComModule :: RegisterServer(TRUE)调用做什么作用(它写的注册表项是什么)?

com atl

3
推荐指数
1
解决办法
703
查看次数

如何设计C#/ Java中缺少const?

在尝试模拟我的域时,我遇到了以下问题.让我们看看我们有一件事:

class Thing
{
    public int X { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

东西有一个属性X.然后,有Packs,聚合东西.但该域名要求包装可以容纳的东西有一些限制.例如,Xes的累积值不能高于某个特定限制:

class Pack
{
    private readonly List<Thing> myThings = new List<Thing>();
    private const int MaxValue = 5;

    public void Add(Thing thing)
    {
        if (myThings.Sum(t => t.X) + thing.X > MaxValue)
            throw new Exception("this thing doesn't fit here");
        myThings.Add(thing);
    }

    public int Count
    {
        get { return myThings.Count; }
    }

    public Thing this[int index]
    {
        get { return myThings[index]; }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我在为条件添加Thing之前检查,但它仍然很容易陷入麻烦:

var pack = new Pack();
pack.Add(new …
Run Code Online (Sandbox Code Playgroud)

c# const

3
推荐指数
1
解决办法
304
查看次数