小编DJ *_*mby的帖子

System.Reflection GetProperties方法不返回值

有人可以向我解释为什么GetProperties如果类设置如下,该方法不会返回公共值.

public class DocumentA
{
    public string AgencyNumber = string.Empty;
    public bool Description;
    public bool Establishment;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置一个简单的单元测试方法来玩

该方法如下,它具有所有适当的使用语句和引用.

我正在做的就是调用以下内容,但它返回0

PropertyInfo[] pi = target.GetProperties(BindingFlags.Public | BindingFlags.Instance);
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用私有成员和公共属性设置类,它可以正常工作.

我没有按照旧学校方式设置课程的原因是因为它有61个属性并且这样做会增加我的代码行数至少三倍.我会成为维护的噩梦.

.net c# reflection

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

Delphi路径变量

在Delphi IDE中,Delphi安装的路径指定为$(DELPHI).我想知道是否有办法创建自己的路径指标,如$(MY_LIBRARY)或类似的东西.我认为$(DELPHI)被指定为环境变量,但显然不是.有任何想法吗?(我正在使用Delphi 7)

delphi path delphi-7

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

如何使用jQuery和CSS创建浮动按钮?

var name = "#floatMenu";
var menuYloc = null;

$(document).ready(function () {
    menuYloc = parseInt($(name).css("top").substring(0, $(name).css("top").indexOf("px")))

    $(window).scroll(function () {
        var offset = menuYloc + $(document).scrollTop() + "px";
        $(name).animate({ top: offset }, { duration: 500, queue: false });
    });
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery和CSS创建浮动按钮?

.net css jquery

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

通过注释看似无关的代码可以删除CA2000警告

问题是VS2010代码分析正在为特定功能返回两个CA2000警告.我没有成功用较小的代码块重现警告,所以我已经完整地发布了原始函数.

public int SaveTransaction( Transaction tx, UserAccount account ) {

        if ( tx == null ) {
            throw new ArgumentNullException( "tx" );
        }

        if ( account == null ) {
            throw new ArgumentNullException( "account" );
        }

        bool isRefund = tx.TransactionType == LevelUpTransaction.TransactionTypes.Refund;

        int pnRef = 0;

        using ( SqlConnection conn = new SqlConnection( DatabaseConfiguration.ConnectionString ) ) {

            using ( SqlCommand cmd = new SqlCommand( "dbo.SaveTransaction", conn ) ) {

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add( "@InvoiceId", SqlDbType.VarChar, 100 ).Value = tx.InvoiceNumber;
                cmd.Parameters.Add( …
Run Code Online (Sandbox Code Playgroud)

.net c# code-analysis idisposable

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

通过扩展方法向 IEnumerable 添加项目不起作用?

在我使用的大多数返回某种集合的方法中,我返回 IEnumerable 而不是特定类型(例如 List)。在许多情况下,我有另一个集合要与结果 IEnumerable 结合,这与使用 AddRange 方法获取一个 List 并添加另一个 List 完全一样。我有以下示例,在其中我创建了一个扩展方法,该方法应该将项目集合添加到基本集合中,同时调试这似乎有效,但在原始集合中从未添加项目。我不明白这一点,为什么不添加它们,是否存在我缺少的 IEnumerable 实现方面的内容?我知道 IEnumerable 是一个只读接口,但我没有在下面的示例中添加到此列表中,我正在替换它,

class Program
{
    static void Main(string[] args)
    {
        var collectionOne = new CollectionContainerOne();
        var collectionTwo = new CollectionContainerTwo();

        // Starts at 1- 50 //
        collectionOne.Orders.AddRange(collectionTwo.Orders);
        // Should now be 100 items but remains original 50 //
    }
}

public class CollectionContainerOne
{
    public IEnumerable<Order> Orders { get; set; }

    public CollectionContainerOne()
    {
        var testIds = Enumerable.Range(1, 50);
        var orders = new List<Order>();
        foreach (int …
Run Code Online (Sandbox Code Playgroud)

c# ienumerable

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

编辑和保存XML文件后如何摆脱方括号[]

如何删除以下XML文档类型末尾的方括号

<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN" "http://www.w3.org/2001/SMIL20/SMIL20.dtd"[]>
Run Code Online (Sandbox Code Playgroud)

我有加载XML文件的代码,进行一些更改然后保存文件.

这是原始文件的标题(无方括号):

<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN" "http://www.w3.org/2001/SMIL20/SMIL20.dtd">
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,最后没有[] "SMIL20.dtd">"

当我转换文档时,它会创建一对方括号,如下所示"SMIL20.dtd"[]>.

这是一个示例:

class FileWorker
{
    public static void UpdateFile(string myfile)
    {
            var doc = XDocument.Load(myfile);           
            try
            {
                foreach (var elem in doc.Elements())
                {

                    if (elem.Name.LocalName == "type")
                    {
                        foreach (var child in elem.Elements())
                        {
                            if (child.Name.LocalName == "head")
                            {
                                foreach (var gc in child.Elements())
                                {
                                    if (Configuration.Cdntosync == 0)
                                    {
                                        if (gc.Attributes().Any(att => att.Name.LocalName == "name" && att.Value == "httpBase"))
                                        { …
Run Code Online (Sandbox Code Playgroud)

c#

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

使用Linq到SQL将C#Object转换为Varbinary和从Varbinary转换

我希望能够将任何C#对象保存在SQL数据库表的单个列中.我不清楚如何将对象转换为varbinary或从varbinary中获取它.我的SystemContextObjects表有一个Varbinary(max)的OptionValue列.

var dc1 = new DataContextDataContext();
var optionUpdate = dc1.SystemContextObjects.SingleOrDefault(o => o.OptionId == OptionId && o.OptionKey == OptionKey);
if (optionUpdate != null)
{
    optionUpdate.OptionValue = Value;  <===== NEED HELP HERE...
    optionUpdate.DateCreated = DateTime.Now;
    optionUpdate.PageName = PageName;
    var ChangeSet = dc1.GetChangeSet();
    if (ChangeSet.Updates.Count > 0)
    {
        dc1.SubmitChanges();
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# sql varbinarymax

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

Java的Math.Pow()函数返回令人困惑的结果

我正在使用Math.pow()函数,并具有以下代码:

double monthlyRate = (0.7d / 12);
int loanLength = 3;

double powerTest = Math.pow(1.00583, 36);
double powerResult = Math.pow((1 + monthlyRate),(loanLength * 12));
Run Code Online (Sandbox Code Playgroud)

当通过调试器运行时,值变为

powerTest => 1.2327785029794363
powerResult => 7.698552870922063
Run Code Online (Sandbox Code Playgroud)

第一个是正确的.我已经在两个赋值行上进入了Math.pow函数.对于powerTest,Math.pow的参数是double a => 1.00583 double b => 36.0

对于powerResult,它们是double a => 1.0058333333333333 double b => 36.0

我知道这是机器执行浮点数学的方式的问题,我只是不确定如何纠正它.我在计算之前尝试执行以下操作,结果不佳:

monthlyRate = Math.round(monthlyRate * 1000) / 1000;
Run Code Online (Sandbox Code Playgroud)

java pow

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

ASP NET 4如何使用带有MinLength属性的DataType密码的数据注释?

public class ChangePasswordObject {

    [Required] [DataType(DataType.EmailAddress)]
    string email;
    [Required]
    string authorization_code;
    [Required] [DataType(DataType.Password)]
    string password;
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net validation data-annotations

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