标签: internal

如何从Android内部存储中读取文件名

我想从我的应用程序的默认内部存储文件夹中读取文件名,但即使有一些文件,我也会得到一个大小为 0 的列表,我使用以下内容来读取文件名

File dirFiles = Settings.this.getFilesDir();
    File list[] = dirFiles.listFiles();
    for( int i=0; i< list.length; i++)
    {
        myList.add( list[i].getName() );
    }
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?我得到的路径正确吗?或者它需要在它的末尾有一个“/”?

/data/data/com.compfrind.contacts/files
Run Code Online (Sandbox Code Playgroud)

android internal android-file

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

c#,内部和反思

有没有办法通过反射执行"内部"代码?

这是一个示例程序:

using System;
using System.Reflection;

namespace ReflectionInternalTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Assembly asm = Assembly.GetExecutingAssembly();

            // Call normally
            new TestClass();

            // Call with Reflection
            asm.CreateInstance("ReflectionInternalTest.TestClass", 
                false, 
                BindingFlags.Default | BindingFlags.CreateInstance, 
                null, 
                null, 
                null, 
                null);

            // Pause
            Console.ReadLine();
        }
    }

    class TestClass
    {
        internal TestClass()
        {
            Console.WriteLine("Test class instantiated");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

创建一个测试类通常是完美的,但是当我尝试通过反射创建一个实例时,我得到一个missingMethodException错误,说它无法找到构造函数(如果你尝试从程序集外部调用它会发生什么).

这是不可能的,还是我可以做一些解决方法?

c# reflection internal

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

帮助消除朋友/内部

我经常看到人们说"如果你需要朋友/内部然后你的设计是错误的",有人可以告诉我如何重新设计以下代码以消除ChessPiece.Location中的内部?

它目前被使用,因此向ChessBoard添加一个片段设置ChessPiece.Location属性以匹配,显然使它公开将比内部更糟糕并使其私有将阻止ChessBoard更新位置.感谢您的任何见解.

public struct Coord
{
   public Coord(int x, int y) { this.X = x; this.Y = y; }
   public int X { get; private set; }
   public int Y { get; private set; }
}

public class ChessBoard
{
   public ChessBoard() { /*[...]*/ }
   public ChessPiece this[int x, int y]
   {
       get
       {
           // Return ChessPiece at this position (or null)
       }
       set
       {
           // Add ChessPiece at this position and set its Location property
       }
}

public class …
Run Code Online (Sandbox Code Playgroud)

c# oop internal friend

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

接口问题

我有一个接口(称为IMessage),它有一个方法Check(),一个类实现这个接口

interface IMessage
{
    bool Check();
}

class NewClass : IMessage
{
    #region IMessage Members

    public bool Check()
    {
        //Some logic
    }
}
Run Code Online (Sandbox Code Playgroud)

那一切都很好.问题是我不希望这个方法(Check())是公共的,我想把它保持在asssembly的内部,但如果我把它作为内部,那么编译器说它没有实现接口.它需要公开才能实现接口.我能做什么?

c# interface public internal

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

内部和私人api保护

我在大约12岁的开发团队工作,我们构建了一套合理的API,我们仅在内部严格使用.通常,所有类和接口都是公共的,因为这就是它们的完成方式.我经常考虑将一些构造函数设置为内部的价值,以便API的消费者(尽管是内部的)必须使用工厂或我现在想不到的其他一些原因.

这是你和你的团队练习的东西吗?

这对您的单元测试有何影响?你是否发现通过它的工厂对一个类进行单元测试是可以的,还是通过像PrivateObject这样的东西来访问构造函数?

c# api-design protected internal

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

如何判断MemberInfo是否是内部的

什么是快速测试来确定一个实例是否MemberInfo是内部的?

.net c# reflection internal

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

内部Clear()方法的C#结构

我想简单地建立商店信息的结构.我的问题是创建清除存储值的内部方法.

   public struct GraphValues
   {
        public int min, max, ...;

        public GraphValues(int min, int max, ...)
        {
            this.min = min;
            this.max = max;
            ...
        }

        public static void Clear(this GraphValues values)
        {
            values.min.Equals(null);
            values.max.Equals(null);
            ...
        }
    }
Run Code Online (Sandbox Code Playgroud)

所以在这个结构中写新值就行了,

GraphValues val = new GraphValues()
val.max = 12;
val.min = 1;
Run Code Online (Sandbox Code Playgroud)

但我想将所有结构都设置为null.打电话给像

val.Clear();
Run Code Online (Sandbox Code Playgroud)

任何的想法?Thnaks

c# methods structure internal clear

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

如何防止C#编译器删除内部构造函数

我有一个带有2个构造函数的公共类:默认(没有参数),它是内部的,而另一个是公共的.默认构造函数使用一些默认值调用另一个构造函数.

我使用反射调用内部构造函数,因此它不会在程序集中的任何位置静态使用(仅通过反射).

当我进行反射调用时,我得到:

System.MissingMethodException
    Message=No parameterless constructor defined for this object.
Run Code Online (Sandbox Code Playgroud)

我知道两个解决方法:

  1. 使构造函数公开(但我不希望此程序集的用户使用它).
  2. 从一些公共方法调用构造函数(我有很多像这样的类,所以我不想写很多这个丑陋无用的代码).

这个问题有什么更好的解决方案

值得一提的是,如果默认构造函数是public,我不会得到该异常.

谢谢,

波阿斯.

c# reflection internal compiler-optimization

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

如何获得内部IP地址?

首先,我的编程语言是Java.我使用套接字创建了一个简单的聊天程序.它的效果非常好.

我在两台终端实例之间的计算机(localhost)上试了一下.

我想在我的笔记本电脑或另一台电脑上试一试.为此,我需要客户端的内部IP地址.

如何使用Java找出客户端的内部IP地址?

我特别想用Java来解决它,而不是使用CMD,或类似的东西.我的意思是 - 这不仅仅是一个常量字符串.

java sockets ip internal

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

使用内部类型(C#)声明公共类方法的可访问性错误不一致?

我有一个JSON类对象是一个内部类.我希望保持这种方式,以防止其他代码尝试创建该类型的对象,因为我只希望JSON反序列化代码这样做.我可以使用类类型作为变量,但如果我尝试返回该类型的对象,我会得到一个不一致的accessibiliy编译器错误,因为该方法是公共的,类是内部的.

解决这种情况的最佳方法是什么?我想我可以为内部类创建一个接口并传递它,但这意味着我必须为我正在使用的每个JSON类创建额外的行李,并且我使用了很多它们.

编辑:我做了Jon Skeet建议的改变,问题就消失了.我遇到了这个问题,因为默认情况下公开我的类是公开的.我正在指出那些正在做同样事情的人.

// The internal class.
internal class JsonPetShelters
{

    [JsonProperty("@encoding")]
    public string Encoding { get; set; }

    [JsonProperty("@version")]
    public string Version { get; set; }

    [JsonProperty("petfinder")]
    public Petfinder Petfinder { get; set; }
}

// This method gets the inconsistent accessibility error since
//   JsonPetShelters is an internal class.
public JsonPetShelters GetShelters()
{
    // For example purposes only
    return null;
}
Run Code Online (Sandbox Code Playgroud)

c# public internal class-visibility

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