小编edo*_*oft的帖子

如何将泛型集合指定为泛型方法中的限制

阿罗哈

我有一个带有(伪)签名的方法:

public static T Parse<T>(string datadictionary) where T : List<U>
Run Code Online (Sandbox Code Playgroud)

这不构建.如何限制方法只接受通用的List <>对象(cource不应该包含T,而是其他东西:)

我需要限制T的类型,因为我需要在此代码中调用它的方法.传入的类型是自定义集合(基于List).

public class MyCollection<T> : List<T> where T: MyClass, new()
{
    public void Foo();
}


public static T Parse<T>(string datadictionary) where T : MyCollection<U>
{
    T.Foo();
}
Run Code Online (Sandbox Code Playgroud)

-Edoode

c# generics

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

序列化FileStream以进行传输

另请参阅此问题:我可以将System.Net.MailMessage传递给WCF服务吗?

我想在发送的邮件中添加附件.附件是本地光盘上的文件或动态创建的Streams.WCF合约可以包含Stream,但仅当所有参数都是Stream类型时.那么,将一个或多个附件传递给WCF服务的最佳方法是什么?

wcf attachment mailmessage

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

WebResource.axd的?- 500内部服务器错误

即时通讯尝试使用来自obout控制库的文件上传控件,我非常喜欢它,并认为它没有任何闪光灯!

我下载了整个安装程序,使用示例中的设置进行了播放,并使控件按照我的意愿行事.

我在vs2008中创建了一个全新的Web应用程序,包括带有样式代码的web.config,dll和文件夹,以及我调整过的aspx页面,以便为我提供所需的输出.

我构建了新项目,并运行它,控件加载,并正常工作.


现在我想在已经存在的已经存在的项目中使用它,所以我复制了web.config值,dll和带有样式代码的文件夹和我调整的aspx页面.

我把它们放在我与其他项目相同的位置,构建并运行页面..所有内容都加载但是当我点击一个按钮时我得到了一个webresource.axd错误,2实际上,两者都加密了.

在做了一些研究之后,看起来像webresource.axd可以用来动态加载javasript和css文件等...所以我在这一点上的猜测是控件使用它作为隐藏的方式来包含它需要的javascript文件..和它失败的那些包括......令我感到困惑.

我已经删除了我的项目中的所有内容,它仍然失败,我发现一篇文章说它可能是网站的iis配置,所以我检查,我有.net 2.0 lib文件的映射,与axd扩展..所以我怀疑这是问题,但我确实删除并重新创建了iis网站..它仍然无法正常工作......

我已经在网络配置中包含了这一行..

<add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader" validate="true"/>
Run Code Online (Sandbox Code Playgroud)

这似乎也没有帮助..

有谁知道我可以去哪里?...

编辑:我在事件查看器中遇到过这个...

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 05/05/2009 2:38:16 PM 
Event time (UTC): 05/05/2009 6:38:16 PM 
Event ID: 8579dbce2f5844169b1740bb95ebffb1 
Event sequence: 8 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/Root/SVN_WORKSPACE/WWWROOT/WorkEstimateSystem-12-128860222914549340 
    Trust level: Full 
    Application Virtual Path: /SVN_WORKSPACE/WWWROOT/WorkEstimateSystem 
    Application Path: c:\inetpub\wwwroot\SVN_WORKSPACE\WWWROOT\WorkEstimateSystem\ 
    Machine name: GREGE6500 

Process information: 
    Process ID: 2276 
    Process name: aspnet_wp.exe 
    Account …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net obout webresource.axd visual-studio-2008

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

ASP.NET成员身份passwordStrengthRegularExpression和GeneratePassword

asp.net成员资格提供程序中的generatePassword方法只允许设置长度和字母数字字符.

但是也有属性passwordStrengthRegularExpression

GeneratePassword是否使用上面的属性.如果这样做会很棒,但我认为它不是吗?

.net membership asp.net security

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

在SQL中使用CAST中的&符号

SQL客户端上的以下代码段在"&"上失败:

select cast('<name>Spolsky & Atwood</name>' as xml)
Run Code Online (Sandbox Code Playgroud)

有没有人知道解决方法?

更长的解释,我需要更新XML列中的一些数据,并且我通过将XML值转换为varchar来使用搜索和替换类型hack,使用此强制转换来替换和更新XML列.

xml sql sql-server casting ampersand

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

将nvarchar值转换为int时转换失败

声明@count nvarchar(max)

set @count ='select COUNT(*) from '+ @tablename+''

if( @count =0 )
begin 
  print 'fail'
end
else
begin
  print 'success'
end
end
Run Code Online (Sandbox Code Playgroud)

@count变量未获得值0.它将错误显示为

将nvarchar值'select COUNT(*)from tablename'转换为数据类型int时转换失败.

sql-server stored-procedures

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

在经典ASP中使用字典中的类

我通常做C#但继承了一个经典的ASP项目.

我已经定义了一个类:

    Class clsPayment    
        Public Name
    End Class

Set objPayment = New clsPayment
objPayment.Name = "StackOverflow payment"    
Run Code Online (Sandbox Code Playgroud)

还有一本字典:

Set colPayments = CreateObject("Scripting.Dictionary")
colPayments.Add 1, objPayment 
Run Code Online (Sandbox Code Playgroud)

稍后读取对象时,我无法调用公共字段:

For i = 0 to colPayments.Count - 1
    objPayment = colPayments.Item(i)
    Response.Write(objPayment.Name)
Next    
Run Code Online (Sandbox Code Playgroud)

这会在Response.Write行上引发错误:

Microsoft VBScript运行时错误"800a01a8"

所需对象: ''

我做错了什么?

vbscript dictionary asp-classic

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

ObjectDataSource 的 Select 方法中 ListBox 为 null

我想不出一个好的主题。我有一个简单的 ASP.NET 3.5 表单。如果您遵循编号注释,我将解释当我在调试模式下运行页面时如何单步执行代码。以下两个函数都是在页面的代码隐藏文件中声明的方法,都位于同一个 _Default 类中。ManagersListBox 在 Default.aspx 页面中声明。为什么在 GetSuborders 的上下文中,ManagersListBox 为空?就好像它消失了一会儿,然后在从 GetSubscribeds 方法返回后又重新出现了。显然,解决方案是参数化 GetSuborindates,但这不是我关心的。我正在尝试了解 ASP.NET 的工作原理,并且我真的很想了解为什么我会看到这种“对象消失”的行为。谢谢。

    <asp:ListBox ID="ManagersListBox" runat="server" Width="293px" 
         DataTextField="LoginID" DataSourceID="ObjectDataSource2"
        DataValueField="EmployeeID" onload="ManagersListBox_Load"                     
        AutoPostBack="true" onprerender="ManagersListBox_PreRender"></asp:ListBox>


    <asp:ObjectDataSource ID="ObjectDataSource2" runat="server" 
        SelectMethod="GetSubordinates" TypeName="WebApplication._Default">
    </asp:ObjectDataSource>
Run Code Online (Sandbox Code Playgroud)

文件背后的代码:

protected void ManagersListBox_PreRender(object sender, EventArgs e)
{

    if (ManagersListBox != null)
    {
        //1. Right here, ManagersListBox is not null
    }

    //2. This call causes the ObjectDataSource to call GetSubordinates
    ObjectDataSource2.Select();
    //4. After stepping out of GetSubordinates and back here,
    //   ManagersListBox is again non-null.
}

public …
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

使用SmartXLS读取xlsx文件

任何人都可以告诉我如何通过举例来使用SmartXLS来读取xlsx文件吗?

xlsx smartxls

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

sqlDecimal到decimal clr存储过程无法将类型为'System.Data.SqlTypes.SqlDecimal'的对象强制转换为'System.IConvertible'

我是新手.我正在编写一个clr存储过程,它调用另一个存储过程来获取计算中使用的值.

存储过程返回int(我猜SqlInt32?表中的值的类型是int),然后需要将其转换为decimal.

这是我的代码:

public static int CalculateMyValues(SqlDecimal aMyValue, SqlString aMyValueType, out SqlDecimal aResult)
{
    aResult = 0;
    try
    {
        SqlConnection conn = new SqlConnection("context connection=true");
        SqlCommand cmd = new SqlCommand("sp_GetType", conn);
        cmd.Parameters.AddWithValue("@myValueType", aMyValueType);
        cmd.CommandType = CommandType.StoredProcedure;
        conn.Open();

        object type = cmd.ExecuteScalar();

        conn.Close();

        decimal typeForCalculation = Convert.ToDecimal(type);
        decimal value = Convert.ToDecimal(aMyValue); // **

        Calculations calc = new Calculations(); 
        decimal result = calc.DoCalculation(typeForCalculation, value);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外(我认为看到******):

无法将类型为"System.Data.SqlTypes.SqlDecimal"的对象强制转换为"System.IConvertible".

有任何想法吗?谢谢.

c# sql clr stored-procedures

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