小编tha*_*awg的帖子

动态创建<Type>的对象

我的数据库中有一个表,用于管理我的应用程序之间的关系.它的本质是非常基本的 - parentType,parentId,childType,childId ...... all as int.之前我已经完成了这个设置,但是当我有6个不同的表我试图链接时,我使用了一个开关/案例设置.现在我有30个表,我正在尝试这样做,我希望能够这样做,而无需在我的switch命令中写入30个案例条目.

有没有办法可以使用字符串引用.Net类?我知道这是无效的(因为我尝试了几种变体):

Type t = Type.GetType("WebCore.Models.Page");
object page = new t();
Run Code Online (Sandbox Code Playgroud)

我知道如何获取对象的类型,但是我如何动态使用它来创建一个新对象?

.net c# dynamic

42
推荐指数
4
解决办法
9万
查看次数

在抽象类中使用泛型

我正在开发一个抽象类,其中实现类需要实现T的列表.问题是这不起作用:

public class AbstractClass
{
    public int Id { get; set; }
    public int Name { get; set; }

    public abstract List<T> Items { get; set; }
}

public class Container : AbstractClass
{
    public List<Widgets> Items { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我确信有一个明显的答案,我缺少,我知道我可以构建一个抽象的基类型放入列表,但是当我使用我的Linq命令来构建列表时,抽象类型(ItemBase) )与.ToList()方法不能很好地配合.我正在努力做到这么独特吗?

c# generics abstraction

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

MySQL中的外键添加失败,错误代码为1005,编号为150

所以我试图在我的一个表中添加一个新的外键:

 ALTER TABLE `UserTransactions`.`ExpenseBackTransactions` 
   ADD CONSTRAINT `FK_EBTx_CustomAccountID`
   FOREIGN KEY (`CustomAccountID` )
   REFERENCES `UserTransactions`.`CustomAccounts` (`CustomAccountID`)
   ON DELETE NO ACTION
   ON UPDATE NO ACTION,
   ADD INDEX `FK_EBTx_CustomAccountID` (`CustomAccountID` ASC) ;
Run Code Online (Sandbox Code Playgroud)

我一直收到以下错误:

Error Code: 1005
Can't create table './UserTransactions/#sql-187a_29.frm' (errno: 150)
Run Code Online (Sandbox Code Playgroud)

我过去对这个表和其他表做了很多改动,这是我第一次遇到这个问题.是什么导致它的想法?

UPDATE

我的SHOW INNODB STATUS错误:

------------------------
LATEST FOREIGN KEY ERROR
------------------------
110525 15:56:36 Error in foreign key constraint of table UserTransactions/#sql-187a_2c:

  FOREIGN KEY (`CustomAccountID` )
  REFERENCES `UserTransactions`.`CustomAccounts` (`CustomAccountID` )
  ON DELETE NO ACTION
  ON UPDATE NO ACTION
, ADD INDEX …
Run Code Online (Sandbox Code Playgroud)

mysql foreign-keys mysql-error-1005

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

WCF REST服务不接受.Net 4中的JSON

我一直在尝试引入作为.NET 4.0的一部分,该StandardEndpoints和我得到的最奇特的错误.

我的代码

[ServiceContract]
public interface IAuthenticator
{
    [OperationContract]
    [WebInvoke(UriTemplate = "AuthenticateUser", Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
    AuthPacket AuthenticateUser(string Username, string Password, string DeviceId);
}
Run Code Online (Sandbox Code Playgroud)

我的web.config

<system.web>
  <compilation debug="true" targetFramework="4.0" />
</system.web>

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
  </modules>
</system.webServer>

<system.serviceModel>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
  <standardEndpoints>
    <webHttpEndpoint>
      <!--
          Configure the WCF REST service base address via the global.asax.cs file and the default endpoint
          via the attributes on the <standardEndpoint> element below
      -->
      <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
    </webHttpEndpoint>
  </standardEndpoints>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

这个例外让我发疯!

415 …
Run Code Online (Sandbox Code Playgroud)

.net wcf json

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

构建热插拔WCF服务库的最佳方法

我一直在研究一个WCF服务库,希望所有的业务逻辑最终都能生存下来.我遇到的问题是,有时我必须快速修复服务,为了应用这些修复,我必须停止Windows服务,替换服务DLL,然后重新启动Windows服务.当我们开始将越来越多的逻辑迁移到此层并且必须关闭整个服务以进行任何更改时,这将开始引起额外的麻烦.

我想要做的是创建一个Windows服务的空shell并动态加载和卸载服务.根据需要加载和卸载.Net DLL的最佳方法是什么?或者依靠IIS来提供这种服务会更好吗?

.net wcf

8
推荐指数
1
解决办法
2310
查看次数

如何自动生成体育联盟赛程

我首先要说的是,我理解这个主题很复杂,可能没有一个简单的答案.如果它很容易那么每个人都会这样做.话虽如此...

我被要求建立一个管理体育联盟的应用程序.除了这一点之外,大多数概念都很容易理解:如何在没有重叠的情况下制定比赛时间表(球队同时参加2支球队),其中一支球队的球队两次参赛,但是参加球队的比赛.其他部门一次,并确保计划中没有漏洞(每个团队每周播放)

现在,该过程是使用我为此目的而构建的rosetta stone类型电子表格手动完成的,但它仅适用于其设计的团队数量.我为30个团队,24个团队和28个团队做了变化.我不想继续尝试重新调整我的翻译表,而是希望能够编写该逻辑并调整该过程.

思考?

.net algorithm logic

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

创建自定义CodeAccessSecurityAttribute会导致编译时出现异常

我正在构建一个自定义CodeAccessSecurityAttribute来处理我的WCF服务的授权.我这样建了A级:

public class A : CodeAccessSecurityAttribute
{
    public A() : base(SecurityAction.Demand)
    {
        // Constructor Code
    }

    public override IPermission CreatePermission()
    {
        // Permission Creation Code
    }

}
Run Code Online (Sandbox Code Playgroud)

在编译时会产生此错误.

Error emitting 'A' attribute -- 'Serialized security custom attribute is 
truncated or incorrectly formed.'
Run Code Online (Sandbox Code Playgroud)

在玩了一点之后我想出了下一个编译而没有错误的示例:

public class B : CodeAccessSecurityAttribute
{
    public B(SecurityAction Action) : base(Action)
    {
        // Constructor Code
    }

    public override IPermission CreatePermission()
    {
        // Permission Creation Code
    }

}
Run Code Online (Sandbox Code Playgroud)

我知道这是因为SecurityAction枚举没有直接引用到A类的公共端,但我无法弄清楚的是如何制作它以便我可以使用A类方法而不是B类.

.net wcf code-security

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

python中的复合布尔逻辑if

我试图在python中测试一个基本前提,它总是失败,我无法弄清楚为什么.

我的sys.argv看起来像这样:

['test.py', 'test']
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

if len(sys.argv) > 1 and sys.argv[1] is 'test':
    print 'Test mode'
Run Code Online (Sandbox Code Playgroud)

但测试从未如此.我确信我在这里遗漏了一些非常简单的东西,但我无法弄清楚它是什么.

python

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

即使属性存在,在编译时也会出现CS1061错误

我曾遇到过.Net开发中最奇怪的问题.我正在编译一个在UserInfo类中新添加属性DeviceID的库.库内部使用了类型和它的新属性就好了,但是当我尝试从另一个库中引用它时,编译器会重新启动编译器错误说明

'library.UserInfo' does not contain a definition for 'DeviceID' and no extension 
method 'DeviceID' accepting a first argument of type 'library.UserInfo' could 
be found 
Run Code Online (Sandbox Code Playgroud)

即使我的类定义如下:

public class UserInfo
{
    public static UserInfo Current
    {
        get
        {
            if (UserInfoPrincipal.Current != null)
            {
                return UserInfoPrincipal.Current.UserData;
            }
            else
            {
                return null;
            }
        }
    }

    public string UserID { get; set; }
    public string DeviceID { get; set; }
    public string MikeLiUserID { get; set; }
    public string TransactionServer { …
Run Code Online (Sandbox Code Playgroud)

.net c# compiler-errors

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

使用asp.net下载文件

有一个数据文件和一些图像文件,我必须每天晚上使用asp.net下载到我们的本地服务器.做这个的最好方式是什么?

UPDATE

好的,在查看了回复之后,我看到我使用asp.net的初始帖子是一个糟糕的选择.你会如何为C#中的控制台应用程序编写它.我不确定我用什么类来连接和下载远程服务器上的文件.

谢谢

.net c# asp.net file download

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

如何使用List <>作为Linq的where子句的条件?

所以我一直在撞击众所周知的墙壁几个小时,我想我会看到其他人是否已经解决了这个问题......

我有一些List<string>值,我想用作搜索过滤器.在过去,我会WHERE field = 'a' OR field = 'b' OR field = 'C'在查询中构建一个字符串.但是对于Linq建筑而言,长WHERE条款相当困难.我希望能起作用的是:

var results = from x in x.table
              where x.Equals(List<string>)
              select x;
Run Code Online (Sandbox Code Playgroud)

唉,编译器不够聪明,无法将List <>分解为WHERE field = 'a' OR field ='b'一种查询.我已经将这个过程作为foreach循环继续前进,List<string>但当我希望在SQL Server上执行该部分执行时,它正在将处理推送到客户端.我是在这里生活在幻想的土地还是有办法实现这一目标?

c# linq sql-server

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