小编col*_*mde的帖子

没有身体的吸气,塞特与

我有一个目前自动的财产.

public string MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)

但是,我现在需要它在每次更改时执行一些操作,所以我想为setter添加逻辑.所以我想做一些事情:

public string MyProperty {
    get;
    set { PerformSomeAction(); }
}
Run Code Online (Sandbox Code Playgroud)

但是,这不构建...... MyProperty.get' must declare a body because it is not marked abstract, extern, or partial

我不能只让getter返回,MyProperty因为它会导致无限循环.

有没有办法做到这一点,还是我必须声明一个私有变量来引用?我宁愿不要MyProperty在这个类和它之外的代码中使用它

c# automatic-properties

17
推荐指数
2
解决办法
5686
查看次数

cURL 命令行保持连接打开

有没有办法让curl(命令行工具)保持http连接打开?我正在尝试测试/调试一个服务器应用程序,该应用程序有一个客户端打开http连接,发出PUT请求并将其保持打开状态直到采取进一步的操作,并且一直在尝试使用curl来模拟这一点。

然而,根据curl网站的说法:

然而,curl 命令行工具只能在运行期间保持连接处于活动状态,因此一旦它退出回命令行,它就必须关闭所有当前打开的连接。

这很好,但是有没有办法强制它不退出回命令行(直到我按任意键或 Ctrl-C 或它喜欢的任何键),从而在我进行测试时保持连接打开?

我已经尝试过"Connection: keep-alive"标头,但这并不能解决问题,该过程仍然会在发出请求后立即结束,并且连接会关闭。

如果没有,是否有替代工具可以做到这一点?

curl http

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

Visual Studio输出窗口中的消息源

假设我的输出窗口中有一条消息(显示Debug的输出)

抛出异常:mscorlib.dll中的"System.InvalidOperationException"

我的应用程序不会抛出异常,只显示该消息并继续.当我在导入的DLL中调用方法时发生异常,这是一个C++模块(我的应用程序是C#).尽管出现此消息,该方法仍然可以正常运行.

我的猜测是该模块正在处理异常,然后显示该消息,但我想确定是这种情况,并且我没有做任何事情来导入它或编组数据(或自定义编组).

(我的代码:

[DllImport("theExternalModule.dll", EntryPoint = "ReadData", SetLastError = true)]
[return: MarshalAs(UnmanagedType.U4)]
private static extern UInt32 ReadData([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(JaggedArrayMarshaler))] Int16[][] data,
                                      [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(JaggedArrayMarshaler))] Int16[][] dataOrig,
                                      [MarshalAs(UnmanagedType.U2)] Int16 buffsize,
                                      ref int smpNum);
Run Code Online (Sandbox Code Playgroud)

resultCode = ReadData(_buffer, _origBuffer, bufferSize, ref sampleNumber);
Run Code Online (Sandbox Code Playgroud)

(当我在调试器中单步执行此行时,将显示该消息)

我的问题是,有没有办法让输出窗口告诉我哪个模块或方法导致显示该消息?

c# c++ debugging visual-studio visual-studio-2017

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

无法在OpenCart(PHP)中禁用错误​​报告

我似乎无法在PHP中禁用错误​​报告 - 我已经尝试了所有内容,但仍然显示"通知"错误.

我的php.ini有

display_errors = Off;
error_reporting = 0;
Run Code Online (Sandbox Code Playgroud)

我的.htaccess了

php_value error_reporting 0
Run Code Online (Sandbox Code Playgroud)

我的剧本有

ini_set('display_errors', 'Off');
ini_set('log_errors', 1);
ini_set('error_reporting', 0);
ini_set('display_startup_errors', 'Off');

php_info();

echo $my_undefined_var;
Run Code Online (Sandbox Code Playgroud)

php_info()输出确认display_errors和error_reporting确实关闭了0,但我仍然收到通知,

注意:未定义的变量:/my/site/path/index.php?blahblah中的my_undefined_var ...

请注意,这是一个OpenCart网站(我的更改位于"管理"部分).我尝试在index.php所在的目录中创建一个测试php脚本,没关系.

还有什么可以超越的error_reporting(0)吗?

我已经完成了整个站点的grep来查找和禁用error_reporting和display_errors的所有提及但无济于事.

php error-reporting ini-set opencart

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

如何在Javascript中用换行符保存cookie?

我正在尝试使用 Javascript 将 textarea 的值保存到 cookie 中。

当用户输入多行时,问题就出现了。仅保存第一行,忽略后续指令。

例如

var myText = $('#mytextarea').val();
document.cookie = "mycookie=" + myText + "; path=/;"
Run Code Online (Sandbox Code Playgroud)

如果myText包含\n用户在 textarea 字段中输入多行时执行的字符,那么不仅其余行未存储在 cookie 中,而且 将path=/;被忽略。

javascript cookies

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

Magento-如何清除不在属性集中的属性

我从另一个开发人员那里接管了一个网站,发现属性设置有些混乱。

具体来说,产品具有与相关属性集不相关的属性。

如果您使用属性设置为“葡萄酒”的葡萄酒,则属性之一是“葡萄品种”。

但是我也有“啤酒”,它具有完全不同的属性集,但是不知何故,我的啤酒之一是葡萄品种。

它没有分配给Beers属性集,也没有显示在该产品的后端(因此我无法对其进行编辑),但是如果我在数据库中查找,它就在那里(在catalog_product_entity_ *和catalog_product_index_eav中)当我进行出口时,它也在那里,如果有人搜索“ Merlot”,他们就会拿出这种啤酒。有数百种这样的产品。

从产品中删除不在其分配的属性集中的所有属性的最佳方法是什么?

我敢肯定,我可以在SQL中弄清楚这一点,但这并不是最好的处理方式,因为我担心会丢失某些内容并完全搞砸产品。

attributes magento

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

C#从"子项目"中的"父项目"访问一个类?

假设我在解决方案中有多个项目.我有主项目parent_project和另一个项目child_project.

如何访问类/命名空间居住在parent_project距离child_project

我已经添加了一个引用child_project,parent_project所以我不能添加一个引用parent_parent,child_project因为它会创建一个循环依赖.

这可能吗?

c# namespaces

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

无法启用ComboBox

我有一个ComboBox我放在SourceGrid3控件中,但由于某种原因我无法设置Enabled属性true.

这是我的代码.

ComboBox cboMyComboBox = new ComboBox(); 
cboMyComboBox.Enabled = true;
cboMyComboBox.BeginUpdate(); 
cboMyComboBox.Items.AddRange(new object[] { "Accept", "Reject" });
cboMyComboBox.EndUpdate();
cboMyComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
SourceGrid3.Cells.Real.CellControl thisControl = new SourceGrid3.Cells.Real.CellControl(cboMyComboBox);

myGrid[row, column] = thisControl;
Run Code Online (Sandbox Code Playgroud)

(myGridSourceGrid3网格)

出于某种原因,当最后一行被执行时,该Enabled值将转向false并且后续尝试更改它(如将其设置回true)不会产生任何影响.

即使我尝试true在Visual Studio调试器中更改值,它也不会允许它,只需将其更改回false.我已经看过了ReadOnly这个字段属性,但似乎并没有成为一个(除非我失去了一些东西),而且我不能改变其他属性(如RightToLeftNoYes)

还有什么我可以检查可能会导致这种控制被强制执行false吗?

c# combobox winforms

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

是否可以防止 Trim() 删除空格?

这似乎是一个奇怪的问题,但是有没有办法在字符串中放置空格而Trim()不会删除它?

例如,我希望输出是,例如"Hello, World "(这是我希望它显示的方式)。

显而易见的答案是,不要调用Trim(),不幸的是,在这种情况下,我将字符串传递到一个库中(我没有源代码),并且该库正在进行修剪。

也许有一个字符看起来像一个空格,但实际上不是,所以不会被修剪?或者一些不可见的字符放在字符串的末尾?

c# string trim

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

Magento覆盖核心模型

我知道这里有几次被问过,但我已经完成了答案,仍然无法弄清楚为什么我不能覆盖Magento的核心模型:

我试图覆盖Eav/Attribute/Data/Text.php,但它拒绝使用我的validateValue()函数版本.

这是我的模型类/app/code/local/Hailstorm/Eav/Model/Attribute/Data/Text.php

class Hailstorm_Eav_Model_Attribute_Data_Text extends Mage_Eav_Model_Attribute_Data_Text {
    public function validateValue($value) {


        $attribute  = $this->getAttribute();    

        echo "My validator for |" . $attribute->getAttributeCode() . "|!\n";

        if ($attribute->getAttributeCode() == 'postcode') {
            $countryId = $this->getExtractedData('country_id');
            $optionalZip = Mage::helper('directory')->getCountriesWithOptionalZip();
            if (!in_array($countryId, $optionalZip)) {
                return parent::validateValue($value);
            }
            return true;
        }
        else {
            return parent::validateValue($value);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的config.xml /app/code/local/Hailstorm/Eav/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <hailstorm_eav>
            <version>0.1.0</version>
        </hailstorm_eav>
    </modules>
    <global>
       <models>
          <eav>
              <rewrite>
                  <attribute_data_text>Hailstorm_Eav_Model_Attribute_Data_Text</attribute_data_text>
              </rewrite>
          </eav>
       </models>
       <hailstorm_eav>
            <class>Hailstorm_Eav_Model</class>
       </hailstorm_eav>
    </global>
</config>
Run Code Online (Sandbox Code Playgroud)

这是我的模块xml文件

/app/etc/modules/Hailstorm_Eav.xml

<?xml …
Run Code Online (Sandbox Code Playgroud)

php overriding model core magento

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

ResXFileCodeGenerator - 覆盖输出(想要使用自定义 ResourceManager)

我创建了一个继承自 ResourceManager 的类。我的问题是,如果我更改 Resources.Designer.cs 以使用它,

例如

private static global::System.Resources.ResourceManager _resourceManager;
Run Code Online (Sandbox Code Playgroud)

private static global::MyProject.Resources.MyResourceManager _resourceManager;
Run Code Online (Sandbox Code Playgroud)

它被 ResXFileCodeGenerator 覆盖并设置回默认System.Resources.ResourceManager.

我不想关闭 ResXFileCodeGenerator。但是有没有办法告诉它ResourceManager使用哪个类?

我被告知要查看 ResXFileCodeGeneratorEx,但真的看不出这在这方面有何不同。

c# resx visual-studio

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

PinvokeStackImbalance错误(C#)

我是Pinvoke的新手.

我有一个大型项目调用调用DLL调用vtmail.dll.它在.Net 3.5中运行良好,但在升级到.NET 4.0时我遇到了PinvokeStackImbalance异常

调用代码有点像这样:

VTMail vtMail = new VTMail();
ec = vtMail.SendMail("servername",
   false,
   "",
   "",
   "Subject",
   "Sender Name",
   "sender@mydomain.com",
   "",
   "sendto@theirdomain.com",
   "reply@mydomain.com,
   "Description",
   "foldername",
   false,
   25);
Run Code Online (Sandbox Code Playgroud)

检查vtmail.dll中的声明是这样的:

public int SendMail(string mailServer, bool login, string userName, 
                    string password, string subject, string fromName, 
                    string fromAddress, string toName, string toAddress, 
                    string replyToAddress, string bodyText, string folderToSend, 
                    bool encrypt, long smtpPortNo);
Run Code Online (Sandbox Code Playgroud)

我一直在搜索这个,它似乎是一个已知的.Net 4.0问题.响应总是建议添加CallingConvention=CallingConvention.CdeclDllImport语句中,但是这个特定的调用没有DllImport语句,dll只是作为Visual Studio中项目的引用而添加,因此可用.

我怎样才能解决这个问题?

c# dll pinvoke .net-4.0 visual-studio-2010

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

C#DateTime到SQL DateTime失去精度

有一个小问题,如果我将DateTime字段保存为SQL命令参数,它会失去精度,例如通常不到一毫秒.

例如,参数Value是: TimeOfDay {16:59:35.4002017}

但它SqlValue是: TimeOfDay {16:59:35.4000000} 那是在数据库中保存的时间.

现在我并没有特别困扰几微秒,但是当我比较值时它会导致问题,它们显示为不相等.(另外在一些比较中,直到运行时才知道该字段的类型,所以我甚至不确定我是否需要特殊的DateTime"舍入"逻辑)

添加参数时是否有任何简单的解决方法?

c# sql-server datetime

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