小编Tim*_* S.的帖子

如何在C#代码中获取当前项目名称?

我想在发生异常时向自己发送电子邮件.使用StackFrame对象,我能够获取文件名,类名甚至类方法抛出异常,但我还需要知道项目名称,因为我的许多ASP.NET项目具有相同的文件名,类名和方法.

这是我的代码:

    public static string JndGetEmailTextForDebuggingExceptionError(this Exception Ex)
    {
        StackFrame sf = Ex.JndGetStackFrame();

        string OutputHTML =         "<i><b><u>For Developer Use Only: </u></b></i>"                                                 + "<br>" + 
                                                                                                                                      "<br>" +
                                    "Project Name:   "  + HttpContext.Current.ApplicationInstance.GetType().Assembly.GetName().Name + "<br>" + //Under discussion
                                    "File Name:      "  + sf.GetFileName()                                                          + "<br>" +
                                    "Class Name:     "  + sf.GetMethod().DeclaringType                                              + "<br>" +
                                    "Method Name:    "  + sf.GetMethod()                                                            + "<br>" +
                                    "Line Number:    "  + sf.GetFileLineNumber()                                                    + "<br>" +
                                    "Line Column:    "  + sf.GetFileColumnNumber()                                                  + "<br>" +
                                    "Error Message:  "  + …
Run Code Online (Sandbox Code Playgroud)

c# asp.net exception

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

从具有指定属性的泛型类列表生成HTML表

我想从几个指定的参数生成一个HTML表.具体来说,我想传递给我的方法的两个参数是:IEnumerable列表,以及T的一些属性子集.例如,假设我有一个这个类的List:

class Person
{
  string FirstName
  string MiddleName
  string LastName
}
Run Code Online (Sandbox Code Playgroud)

假设该列表中有5个人.我想通过这样的方式获得该类(或任何其他任意类)的HTML表:

List<Person> people;
...add people to list

string HTML = GetMyTable(people, "FirstName", "LastName");
Run Code Online (Sandbox Code Playgroud)

我确定有一种更好的方法可以指定我希望从中生成表的属性(或者我希望从表中排除哪些属性,这样会更好,因为我通常会想要大多数或所有类的属性),但是我我不确定如何(我从未使用过反射,但我猜这是怎么回事).此外,该方法应接受任何类型的类的列表.

有关如何实现这一目标的任何聪明的想法?

c# generics reflection

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

C#方法在匿名类型中初始化

我正在浏览Sam的LINQ Unleashed for C#,并在第7页列出:

匿名类型可以初始化为包含方法,但这些可能只是语言学家感兴趣的.

我真的不明白语言学家的评论是否是一个笑话.无论如何,可以在C#中做这样的事情

var obj = new { 
    Name = "Joe", Weight = 200,
    GetAge = new Func<int>(() => { return 43; })
};
Run Code Online (Sandbox Code Playgroud)

有没有人有真实生活情况需要在匿名类型中定义一个函数?或者这只是类型推理的结果而没有实际应用?

c# linq lambda anonymous-types

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

C# 获取屏幕平均颜色的最快方法

我目前正在使用 C#、arduino 和 Ikea Dioder 为我的电脑显示器创建流光溢彩。目前硬件部分运行完美;但是,我在检测屏幕部分的平均颜色时遇到了问题。

我正在使用的实现有两个问题:

  1. 性能- 这两种算法都会在屏幕上增加一些明显的卡顿。没什么亮点,但看视频时很烦人。
  2. 无全屏游戏支持- 当游戏处于全屏模式时,这两种方法都只返回白色。

    public class DirectxColorProvider : IColorProvider
    {
    
        private static Device d;
        private static Collection<long> colorPoints;
    
        public DirectxColorProvider()
        {
            PresentParameters present_params = new PresentParameters();
            if (d == null)
            {
                d = new Device(new Direct3D(), 0, DeviceType.Hardware, IntPtr.Zero, CreateFlags.SoftwareVertexProcessing, present_params);
            }
            if (colorPoints == null)
            {
                colorPoints = GetColorPoints();
            }
        }
    
        public byte[] GetColors()
        {
            var color = new byte[4];
    
            using (var screen = this.CaptureScreen())
            {
                DataRectangle dr = screen.LockRectangle(LockFlags.None); …
    Run Code Online (Sandbox Code Playgroud)

c# directx gdi+ screen-scraping directx-11

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

无法相应地拆分字符串

我知道这个问题会被无数次问过,但我有点卡住了.我有一个类似的字符串

"文档1;文档2;文档3; 12"

它可以是类似的东西

"文档1;文档2;文档3;文档4; Doc5; 56"

就像用分号分隔的几条字符串,后跟一个数字或id.

我需要分别提取数字/ id和字符串.确切地说,我可以有2个字符串:一个有"Doc1;Doc2;Doc3"或者"Doc1;Doc2;Doc3;Doc4"另一个只有数字/ id为"12"或"34"或"45"等.是的我使用的是C#3.5

我理解这是一个非常容易和诙谐的问题,但是这个家伙被卡住了.专家要求提供援助.

关心Anurag

c# arrays string delimiter

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

在静态方法中读取 cookie

我在静态方法中读取 cookie 时遇到问题。我试过:

static void Method()
{
    Page page = HttpContext.Current.Handler as Page;
         HttpCookie reader= page.Request.Cookies["myCookie"];
}
Run Code Online (Sandbox Code Playgroud)

但我认为这不起作用。

你有什么想法我该怎么做吗?

.net c# cookies static static-methods

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

wordpress管理员中没有自定义字段

昨天我将我的Wordpress博客移到了一个新域名.一切都很容易做,一切正常,但我的新安装中的管理面板没有在添加新帖子页面上显示自定义字段表单.

我的主题实际上显示了自定义字段的所有内容,它仍然显示旧的导入帖子中的元值,但不显示表单,即使我编辑旧帖子.这是一个糟糕的安装吗?我无法弄清楚接下来该做什么.

php wordpress wordpress-theming

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

将IDbSet <class>传递给泛型方法

我确信这是非常基本的,但我在构建泛型方法时遇到了麻烦.我在我的声明众多接口DBContext类(IDbSet<Person>,IDbSet<Organizations>,等).我想将它们传递给一个处理它们的方法.在这种情况下,删除记录.这是我试图做的,但我无法弄清楚如何创建方法签名.

private static void EmptyTable<T>(ContactContext context, T records)
    {

        foreach (var record in records)
        {
            records.Remove(record);
        }
        context.SaveChanges();
    }
Run Code Online (Sandbox Code Playgroud)

.net c# generics entity-framework c#-4.0

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

如何解析JSON数组C#?

所以在做了一个Web请求后,我得到了这个JSON字符串:

{"status":"okay","result":[{"id":8810,"country":"IE","region":"07","city":"Dublin","latitude":53.3331,"longitude":-6.2489,"comment":"407367 donkeys"},{"id":9688,"country":"IE","region":"04","city":"Cork","latitude":51.8986,"longitude":-8.4958,"comment":"454765 donkeys"},{"id":9963,"country":"IE","region":"06","city":"Donegal","latitude":54.65,"longitude":-8.1167,"comment":"315518 donkeys"}]}
Run Code Online (Sandbox Code Playgroud)

我不确定如何解析它.我有一个具有id,country,region等的City类,我希望能够在列表中单独保存每个类,这样我就可以将它们添加到应用程序的列表视图中.

我试过这个:

JObject jobj = JObject.Parse(jsonString);
JToken jstatus = jobj["status"];
JToken jresult = jobj["result"];
status = (String)jstatus;
JArray arrayOfCities = JArray.Parse(jsonString);

        if (status.Equals("okay"))
        {
            foreach (JObject o in arrayOfCities.Children<JObject>())
            {
                foreach (JProperty p in o.Properties())
                {
                    id = p.Name + p.Value.ToString();// (String)jresult["id"];

                    country = (String)jresult["country"];
                    region = (String)jresult["region"];
                    city = (String)jresult["city"];
                    latitude = (String)jresult["latitude"];
                    longitude = (String)jresult["longitude"];
                    comment = (String)jresult["comment"];
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

但是我不断收到解析错误.我尝试了一些东西,但没有一个最终起作用.我如何分别解析数组的每个部分并将其保存到城市列表.谢谢

c# arrays parsing json list

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

基于其他IEnumerable属性值创建一个新的IEnumerable(基本LINQ)

我想知道有没有办法根据另一个IEnumerable的属性值获取IEnumerable,例如:

class Person
{
    int Age{get;set;}
}

static void main()
{
  IEnumerable<Person> persons = GetPersons();
  IEnumerable<int> ages = persons.?(person => person.Age);
}
Run Code Online (Sandbox Code Playgroud)

我的问题:有没有一种方法可以取代那个问号?

c# linq

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

实例化对象C#

Dude car = new dude(name="honda", year=1998);

Dude park = new Dude(name="blah", year=1996);

car=park;
Run Code Online (Sandbox Code Playgroud)

我是OOP的新手,我有时会看到这些参考变量设置为彼此相等,即使它具有不同的值.也许我误会了什么.可以解释为什么你要设置一个彼此相等的对象?

c# instantiation

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